为什么要用Pandas进行数据分析?
真正的 "原始 "数据需要大量的 "整理 "操作,然后才能被数据科学家准备好进行剖析,其中一个流行的python数据整理工具就是Pandas。因为Pandas有广泛的软件包,几乎可以实现所有可能的功能。Pandas库就是这样一个包,它使生活变得更容易,特别是对于数据分析。通过其广泛的内置功能进行操作和可视化。
Pandas的第一个步骤
如果你正在使用Anaconda,那么你将自动拥有Pandas。但是,由于某些原因,如果你没有它。
只需运行这个命令-
conda install pandas
如果你没有使用Anaconda。那么,通过 pip 安装 -
pip install pandas
导入- 要导入pandas,使用
import pandas as pd
总之,最好将NumPy与pandas一起导入,以获得更多的numpy功能。简而言之,它将帮助我们进行探索性数据分析(EDA)。
Pandas数据结构
Pandas有两个主要的数据结构。
- 系列
- 数据框架
系列
创建pandas系列的基本语法如下。
newSeries = pd.Series(data , index)
数据可以是任何类型,从Python的字典到列表或元组。它也可以是一个Numpy数组。
让我们从Python List中建立一个系列。
mylist = ['Tanishka','Machine Learning', 24, 'India']
labels = ['Name', 'Career', 'Age', 'Country']
newSeries = pd.Series(mylist,labels)
print(newSeries)
此外,让我们看看如何使用Python字典创建一个系列。
myDict = {'Name': 'Tanishka',
'Career': 'Machine Learning',
'Age': 24,
'Country': 'India'}
mySeries = pd.Series(myDict)
print(mySeries)
从系列中访问数据
从Pandas系列中访问数据的正常模式是--
seriesName['IndexName']
让我们以我们先前创建的mySeries为例。为了获得姓名、年龄和职业的值,我们所要做的就是
print(mySeries['Name'])
print(mySeries['Age'])
print(mySeries['Career'])
对潘达斯系列的基本操作
例如,让我们创建两个新系列,对它们进行操作。
newSeries1 = pd.Series([10,20,30,40],index=['LONDON','NEWYORK','Washington','Singapore'])
基本算术操作包括+-*/操作。这些都是超指数完成的,所以我们来执行它们。
newSeries1 + newSeries2
在这里我们可以看到,由于伦敦和纽约的指数都存在于两个系列中。所以,它把两者的值加起来,剩下的输出是NaN(不是一个数字)。
newSeries1 * newSeries2
newSeries1 / newSeries2
数据帧
使用列表创建一个数据框架
import pandas as pd
# list of strings
new_list = ['Mango','Kiwi','Strawberry','Pineapple']
# Calling DataFrame constructor on list
df = pd.DataFrame(new_list)
print(df)
现在,使用ndarray/lists的dict
import pandas as pd
# intialise data of lists.
new_list = {'Name':['Mango','Kiwi','Strawberry','Pineapple'],'Price':[20, 21, 19, 18]}
# Create DataFrame
df = pd.DataFrame(new_list)
# Print the output.
print(df)
索引和选择数据
在Pandas中,索引意味着简单地从DataFrame中选择特定的行和列的数据。它可能意味着选择所有的行和一些列,一些行和所有的列,或者每一个行和列中的一些。索引也可以被称为子集选择。
索引操作符用来指对象后面的方括号。符号 [.loc](https://www.geeksforgeeks.org/python-pandas-extracting-rows-using-loc/)一个[.iloc](https://www.geeksforgeeks.org/python-extracting-rows-using-pandas-iloc/)索引器也使用索引操作符来进行选择。在这个索引操作符中,指的是df[]。
现在,我们选择一个单列
# importing pandas package
import pandas as pd
# intialise data of lists.
data = {'Name':['Mango','Kiwi','Strawberry','Pineapple'],'Price':[20, 21, 19, 18]}
# retrieving columns by indexing operator
first = data["Price"]
print(first)
选择单一的行 使用.loc
import pandas as pd
data = {
"Name": ['Mango','Kiwi','Strawberry','Pineapple'],
"Price": [20, 21, 19, 18]
}
#load data into a DataFrame object:
df = pd.DataFrame(data)
#refer to the row index:
print(df.loc[0])
选择单一的行 使用.iloc
import pandas as pd
data = {
"Name": ['Mango','Kiwi','Strawberry','Pineapple'],
"Price": [20, 21, 19, 18]
}
#load data into a DataFrame object:
df = pd.DataFrame(data)
#refer to the row index:
print(df.iloc[3])