Python – 查找 Pandas DataFrame 的统计汇总信息
在数据处理中,我们通常需要对数据进行统计分析,而 Pandas 中的 DataFrame 提供了许多方法来获取 DataFrame 的统计汇总信息。这些方法不仅可以帮助我们理解数据的分布和趋势,还可以在进行数据预处理和特征工程时提供有效的指导。
数据准备
我们先来准备一个示例 DataFrame,包含了 5 个州的人口数量及其 GDP:
import pandas as pd
data = {'State': ['New York', 'California', 'Texas', 'Florida', 'Illinois'],
'Population': [19849399, 39144818, 27469114, 20271272, 12859995],
'GDP': [1550936, 3015269, 1702816, 926688, 792023]}
df = pd.DataFrame(data)
查看 DataFrame 的基本信息
通过访问 DataFrame 的属性或使用一些特定的方法,可以获得 DataFrame 的基本信息,例如行列数、数据类型、空值数等等。
行列数
要查找 DataFrame 的行数和列数,可以访问 shape
属性:
print(df.shape)
# (5, 3)
其中第一个元素是行数,第二个元素是列数。
数据类型
Pandas 中的 DataFrame 可以容纳不同类型的数据,因此我们需要知道每列的数据类型。
可以使用 info()
方法来查看 DataFrame 的详细信息,包含行数、列数、列名、数据类型及内存占用情况等等:
df.info()
空值数
在数据分析中,缺失值常常需要进行特殊处理。
要查找 DataFrame 中每列缺失值的数量,可以使用 isnull().sum()
方法:
print(df.isnull().sum())
查看 DataFrame 的描述性统计信息
除了基本的信息外,我们也希望能够了解 DataFrame 中数据的描述性统计信息。Pandas 提供了多种方法,让我们可以轻松地计算最大值、最小值、平均值、中位数、标准差等等信息。
下面是一些常用的描述性统计方法:
describe()
describe()
方法提供了 DataFrame 中几个重要的统计信息:
print(df.describe())
mean()
可以用 mean()
方法计算每列的均值:
print(df.mean())
median()
可以用 median()
方法查找每列的中位数:
print(df.median())
std()
可以用 std()
方法查找每列的标准差:
print(df.std())
var()
可以用 var()
方法查找每列的方差:
print(df.var())
max()
可以用 max()
方法查找每列的最大值:
print(df.max())
min()
可以用 min()
方法查找每列的最小值:
print(df.min())
count()
可以用 count()
方法查找每列的非空元素数:
print(df.count())
查看 DataFrame 的分位数
除了均值和中位数外,还有其他分位数可以用来描述数据的分布情况。
quantile()
quantile()
方法可以查找 DataFrame 中每列的指定分位数:
print(df.quantile(0.25))
上述代码将查找每列的 25% 分位数。
describe()
describe()
方法还可以用来查找 DataFrame 中的四分位数,即将 include
参数设置为 all
:
print(df.describe(include='all').loc['25%'])
注:如果不设置 include
参数,describe()
方法将默认只输出数值类型的列。
查找 DataFrame 中的最大值、最小值及其索引
除了使用 max()
和 min()
方法之外,我们还可以查找 DataFrame 中的最大值、最小值及其索引。
idxmax()
idxmax()
方法可以用来查找 DataFrame 中各列的最大值所在的索引:
print(df.idxmax())
结果将返回每列的最大值所在行的索引。
idxmin()
idxmin()
方法可以用来查找 DataFrame 中各列的最小值所在的索引:
print(df.idxmin())
同样地,结果将返回每列的最小值所在行的索引。
查找 DataFrame 中各列的唯一值及其出现次数
在数据分析中,我们经常需要了解 DataFrame 中各列的唯一值及其出现次数。这可以帮助我们识别异常值、数据倾斜等问题。
nunique()
nunique()
方法可以用来查找 DataFrame 中每列的唯一值个数:
print(df.nunique())
value_counts()
value_counts()
方法可以用来查找 DataFrame 中每列的唯一值及其出现次数:
print(df['State'].value_counts())
结论
以上是对 Pandas DataFrame 中查找统计汇总信息的介绍。掌握这些方法可以为我们的数据分析和预处理提供有效的指导。更多有用的 DataFrame 操作,可以查阅 Pandas 的文档或参考相关书籍。