用于数据分析的Pandas

429 阅读3分钟

为什么要用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])

参考文献

  1. pandas.pydata.org/pandas-docs…
  2. www.geeksforgeeks.org/indexing-an…
  3. www.kdnuggets.com/2020/06/int…
  4. www.geeksforgeeks.org/python-pand…