python怎么安装pandas模块-如何在Python 3中安装pandas包和使用数据结构

介绍

Python pandas包用于数据操作和分析,旨在让您以更直观的方式处理标记或关系数据。

基于numpy软件包构建,pandas包括标签,描述性索引,在处理常见数据格式和丢失数据方面特别强大。

pandas软件包提供了电子表格功能,但使用Python处理数据要比使用电子表格快得多,并且证明pandas非常有效。

在本教程中,我们将首先安装pandas,然后让您了解基础数据结构:Series和DataFrames。

安装 pandas

同其它Python包,我们可以使用pip安装pandas。

首先,让我们进入我们选择的本地编程环境或基于服务器的编程环境,并在那里安装pandas和它的依赖项:pip install pandas numpy python-dateutil pytz

您应该收到类似于以下内容的输出:Successfully installed pandas-0.19.2

如果您希望pandas在Anaconda中安装,可以使用以下命令执行此操作:conda install pandas

此时,您已经准备好开始使用pandas软件包了。

Series

在pandas,Series是一维数组,可以容纳任何数据类型。轴标签统称为索引。

让我们在命令行中启动Python解释器,如下所示:python

在解释器中,将numpy和pandas包导入您的命名空间:import numpy as np

import pandas as pd

在我们使用Series之前,让我们来看看它通常是什么样的:s = pd.Series([data], index=[index])

您可能会注意到数据的结构类似于Python 列表。

没有声明索引

我们将输入整数数据,然后为Series提供name参数,但我们将避免使用index参数来查看pandas如何隐式填充它:s = pd.Series([0, 1, 4, 9, 16, 25], name='Squares')

现在,让我们打电话给系列,这样我们就可以看到pandas的作用:s

我们将看到以下输出,左列中的索引,右列中的数据值。列下方是有关系列名称和组成值的数据类型的信息。0 0

1 1

2 4

3 9

4 16

5 25

Name: Squares, dtype: int64

虽然我们没有提供数组的索引,有一个隐含加入的整数值的0到5。

声明索引

正如上面的语法向我们展示的那样,我们也可以使用显式索引创建Series。我们将使用有关地球海洋平均深度的数据:avg_ocean_depth = pd.Series([1205, 3646, 3741, 4080, 3270], index=['Arctic', 'Atlantic', 'Indian', 'Pacific', 'Southern'])

在构建系列之后,让我们调用它来查看输出:avg_ocean_depthArctic 1205

Atlantic 3646

Indian 3741

Pacific 4080

Southern 3270

dtype: int64

我们可以看到我们提供的索引在左侧,右侧是值。

索引和切片系列

使用pandasSeries,我们可以通过相应的数字索引来检索值:avg_ocean_depth[2]3741

我们还可以按索引号切片来检索值:avg_ocean_depth[2:4]Indian 3741

Pacific 4080

dtype: int64

另外,我们可以调用索引的值来返回它对应的值:avg_ocean_depth['Indian']3741

我们还可以使用索引的值进行切片以返回相应的值:avg_ocean_depth['Indian':'Southern']Indian 3741

Pacific 4080

Southern 3270

dtype: int64

请注意,在最后一个示例中,使用索引名称进行切片时,这两个参数是包容性的而不是独占的。

让我们用quit()退出Python解释器。

用字典初始化的系列

有了pandas,我们也可以用字典数据类型来初始化一个系列。这样,我们不会将索引声明为单独的列表,而是使用内置键作为索引。

让我们创建一个名为ocean.py的文件,并添加以下字典并调用它来打印它。import numpy as np

import pandas as pd

avg_ocean_depth = pd.Series({

'Arctic': 1205,

'Atlantic': 3646,

'Indian': 3741,

'Pacific': 4080,

'Southern': 3270

})

print(avg_ocean_depth)

现在我们可以在命令行上运行该文件:python ocean.py

我们将收到以下输出:OutputArctic 1205

Atlantic 3646

Indian 3741

Pacific 4080

Southern 3270

dtype: int64

系列以有条理的方式显示,左侧是索引(由我们的键组成),右侧是一组值。

这将像其他Python字典一样,您可以通过调用键来访问值,我们可以这样做:...

print(avg_ocean_depth['Indian'])

print(avg_ocean_depth['Atlantic':'Indian'])3741

Atlantic 3646

Indian 3741

dtype: int64

但是,这些系列现在是Python对象,因此您将无法使用字典功能。

Python词典提供了另一种表单来在pandas中设置Series。

DataFrames

DataFrame是二维标记的数据结构,其具有可由不同数据类型组成的列。

DataFrame类似于电子表格或SQL表。通常,在使用pandasDataFrame 时,DataFrames将是您将使用的最常用对象。

要了解pandasDataFrame的工作原理,让我们设置两个Series,然后将它们传递给DataFrame。第一个系列将是我们之前的avg_ocean_depth系列,第二个max_ocean_depth系列将包含地球上每个海洋最大深度的数据,以米为单位。import numpy as np

import pandas as pd

avg_ocean_depth = pd.Series({

'Arctic': 1205,

'Atlantic': 3646,

'Indian': 3741,

'Pacific': 4080,

'Southern': 3270

})

max_ocean_depth = pd.Series({

'Arctic': 5567,

'Atlantic': 8486,

'Indian': 7906,

'Pacific': 10803,

'Southern': 7075

})

设置这两个系列之后,让我们将DataFrame添加到max_ocean_depth系列下方的文件底部。在我们的示例中,这两个系列都具有相同的索引标签,但如果您使用具有不同标签的Series,则会标记缺失值NaN。

这是以我们可以包含列标签的方式构造的,我们将其声明为Series'变量的键。要查看DataFrame的外观,让我们发出一个打印它的调用。...

max_ocean_depth = pd.Series({

'Arctic': 5567,

'Atlantic': 8486,

'Indian': 7906,

'Pacific': 10803,

'Southern': 7075

})

ocean_depths = pd.DataFrame({

'Avg. Depth (m)': avg_ocean_depth,

'Max. Depth (m)': max_ocean_depth

})

print(ocean_depths)Avg. Depth (m) Max. Depth (m)

Arctic 1205 5567

Atlantic 3646 8486

Indian 3741 7906

Pacific 4080 10803

Southern 3270 7075

输出显示我们的两个列标题以及每个列标题下的数字数据,字典键中的标签位于左侧。

在DataFrame中对数据进行排序

我们可以使用DataFrame.sort_values(by=...)函数对DataFrame中的数据进行排序。

例如,让我们使用ascending布尔参数,该参数可以是True或False。注意,ascending是我们可以传递给函数的参数,但descending不是。...

print(ocean_depths.sort_values('Avg. Depth (m)', ascending=True))Avg. Depth (m) Max. Depth (m)

Arctic 1205 5567

Southern 3270 7075

Atlantic 3646 8486

Indian 3741 7906

Pacific 4080 10803

现在,输出显示最左侧整数列中从低值到高值的数字。

使用DataFrames进行统计分析

接下来,让我们来看看一些总结的统计数据,我们可以用DataFrame.describe()功能从pandas收集。

在不传递特定参数的情况下,DataFrame.describe()函数将为数值数据类型提供以下信息:

返回这是什么意思count频率计数; 事情发生的次数

mean平均值或平均值

std标准偏差,用于表示数据变化范围的数值

min集合中的最小或最小数字

25%第25百分位数

50%第50百分位数

75%第75百分位数

max集合中的最大或最大数字

让我们通过使用describe()函数调用我们的ocean_depthsDataFrame 让Python打印出这个统计数据:...

print(ocean_depths.describe())

当我们运行此程序时,我们将收到以下输出:Output Avg. Depth (m) Max. Depth (m)

count 5.000000 5.000000

mean 3188.400000 7967.400000

std 1145.671113 1928.188347

min 1205.000000 5567.000000

25% 3270.000000 7075.000000

50% 3646.000000 7906.000000

75% 3741.000000 8486.000000

max 4080.000000 10803.000000

现在,您可以将此处的输出与原始DataFrame进行比较,并在将其视为一个组时更好地了解地球海洋的平均深度和最大深度。

处理缺失值

通常在处理数据时,您将缺少值。pandas软件包提供了许多不同的方法来处理丢失的数据,这些null数据是指由于某种原因不存在的数据或数据。在pandas中,这被称为NA数据并被渲染为NaN。

我们使用DataFrame.dropna()函数去了下降遗漏值,使用DataFrame.fillna()函数填补缺失值。这将确保您在开始时不会遇到问题。

让我们创建一个名为user_data.py的新文件并使用一些缺少值的数据填充它并将其转换为DataFrame:import numpy as np

import pandas as pd

user_data = {'first_name': ['Sammy', 'Jesse', np.nan, 'Jamie'],

'last_name': ['Shark', 'Octopus', np.nan, 'Mantis shrimp'],

'online': [True, np.nan, False, True],

'followers': [987, 432, 321, np.nan]}

df = pd.DataFrame(user_data, columns = ['first_name', 'last_name', 'online', 'followers'])

print(df)

当我们运行程序时,我们的打印调用向我们显示以下输出:first_name last_name online followers

0 Sammy Shark True 987.0

1 Jesse Octopus NaN 432.0

2 NaN NaN False 321.0

3 Jamie Mantis shrimp True NaN

这里有很多缺失的值。

让我们首先使用dropna()删除缺失的值。...

df_drop_missing = df.dropna()

print(df_drop_missing)

由于在我们的小数据集中只有一行没有任何值丢失,因此在运行程序时,这是唯一保持完整的行:first_name last_name online followers

0 Sammy Shark True 987.0

作为删除值的替代方法,我们可以使用我们选择的值填充缺失值,例如0。这个我们将使用DataFrame.fillna(0)实现。

删除或注释掉我们添加到文件中的最后两行,并添加以下内容:...

df_fill = df.fillna(0)

print(df_fill)

当我们运行程序时,我们将收到以下输出:first_name last_name online followers

0 Sammy Shark True 987.0

1 Jesse Octopus 0 432.0

2 0 0 False 321.0

3 Jamie Mantis shrimp True 0.0

现在我们所有的列和行都是完整的,而不是像我们的值NaN一样,我们现在已经用0填充了这些空格。您会注意到在适当的时候使用浮动。

此时,您可以对数据进行排序,进行统计分析以及处理DataFrame中的缺失值。

结论

本教程介绍了使用pandasPython 3 进行数据分析的介绍性信息。您现在应该已经安装pandas,并且可以使用pandas中的Series和DataFrames数据结构。

想要了解更多关于安装pandas包和使用数据结构的相关教程,请前往腾讯云+社区学习更多知识。参考文献:《How To Install the pandas Package and Work with Data Structures in Python 3》

你可能感兴趣的:(python怎么安装pandas模块-如何在Python 3中安装pandas包和使用数据结构)