计算数据框中列的摘要统计信息

Tyl*_*ood 41 python csv profiling dataframe pandas

我有一个以下形式的数据框(例如)

shopper_num,is_martian,number_of_items,count_pineapples,birth_country,tranpsortation_method
1,FALSE,0,0,MX,
2,FALSE,1,0,MX,
3,FALSE,0,0,MX,
4,FALSE,22,0,MX,
5,FALSE,0,0,MX,
6,FALSE,0,0,MX,
7,FALSE,5,0,MX,
8,FALSE,0,0,MX,
9,FALSE,4,0,MX,
10,FALSE,2,0,MX,
11,FALSE,0,0,MX,
12,FALSE,13,0,MX,
13,FALSE,0,0,CA,
14,FALSE,0,0,US,
Run Code Online (Sandbox Code Playgroud)

如何使用Pandas计算每列的摘要统计信息(列数据类型是可变的,有些列没有信息

然后返回表单的数据框:

columnname, max, min, median,

is_martian, NA, NA, FALSE
Run Code Online (Sandbox Code Playgroud)

等等

EdC*_*ica 77

describe可能会给你你想要的一切,否则你可以使用groupby执行聚合并传递一个agg函数列表:http://pandas.pydata.org/pandas-docs/stable/groupby.html#applying-multiple-functions-at-once

In [43]:

df.describe()

Out[43]:

       shopper_num is_martian  number_of_items  count_pineapples
count      14.0000         14        14.000000                14
mean        7.5000          0         3.357143                 0
std         4.1833          0         6.452276                 0
min         1.0000      False         0.000000                 0
25%         4.2500          0         0.000000                 0
50%         7.5000          0         0.000000                 0
75%        10.7500          0         3.500000                 0
max        14.0000      False        22.000000                 0

[8 rows x 4 columns]
Run Code Online (Sandbox Code Playgroud)

请注意,某些列无法汇总,因为没有逻辑方法来汇总它们,例如包含字符串数据的列

如果您愿意,可以根据需要转置结果:

In [47]:

df.describe().transpose()

Out[47]:

                 count      mean       std    min   25%  50%    75%    max
shopper_num         14       7.5    4.1833      1  4.25  7.5  10.75     14
is_martian          14         0         0  False     0    0      0  False
number_of_items     14  3.357143  6.452276      0     0    0    3.5     22
count_pineapples    14         0         0      0     0    0      0      0

[4 rows x 8 columns]
Run Code Online (Sandbox Code Playgroud)


aki*_*t90 18

现在有pandas_profiling包,这是一个更完整的替代品df.describe().

如果你的pandas数据帧是df,下面将返回一个完整的分析,包括一些关于缺失值,偏斜等的警告.它还提供了直方图和相关图.

import pandas_profiling
pandas_profiling.ProfileReport(df)
Run Code Online (Sandbox Code Playgroud)

请参阅详细说明用法的示例笔记本.

  • @endive1783检查[此处](https://pandas-profiling.ydata.ai/docs/master/rtd/pages/examples.html) (3认同)
  • 哇这个是压倒性的...谢谢伙计..这将立即进入我的工具集. (2认同)
  • 上面的示例链接不起作用,请使用[this](https://pandas-profiling.github.io/pandas-profiling/docs/#jupyter-notebook) (2认同)

Ken*_*ace 5

为了澄清@EdChum 回答中的一点,根据文档,您可以使用df.describe(include='all'). 它不会提供很多统计信息,但会提供一些信息,包括计数、唯一值的数量、最高值。这可能是一个新功能,我不知道,因为我是一个相对较新的用户。