使用pandas进行数据分析?

3
我收到了一个用逗号分隔的字段数据文件。我需要系统地查看每个列的内容,以理解以下内容: -最小值 -最大值 -平均值 -第25百分位数 -第50百分位数 -第75百分位数
如果是文本格式,则需要知道以下内容: -不同值的数量
此外,我还需要寻找以下内容: -空值或缺失值的数量 -零值的数量
有时候某些特征的奇怪之处会包含信息。我可能需要与客户讨论我发现的奇怪之处。或者,如果我要替换值,我必须确保我不会鲁莽地覆盖某些重要信息。
我的问题是:Python中是否有一个软件包可以帮我找到这些内容,而不需要预设数据类型?如果存在这样一个软件包,Pandas是否是它的好容身之所?
我看到Pandas可以轻松地替换值,但一开始我只想查看数据。

如果您将CSV加载到“pandas DataFrame”中,您可以轻松创建一个函数,该函数将获取列并输出您想要的内容,例如百分位数、最小值等基本数学运算。至于文本方面,我不确定您的意思。但我认为您不需要找到一个包,因为除非您低估了问题,否则您所需的内容并不复杂。 - Ryan Saxe
2
你可以在DataFrame上调用df.describe()方法来获取每列的描述。从你的问题中并不清楚你想要的具体信息。 - BrenBarn
@BrenBarn:没错,我差点就提到了,但这样做不会给你百分位数,对吧? - Ryan Saxe
@RyanSaxe:它确实给出了百分位数。 - BrenBarn
哦,我不记得了。我曾经用它来处理股票的最小值和最大值,但这台电脑上没有加载pandas,所以我无法检查。我的错。 - Ryan Saxe
1个回答

1
您可以使用describe方法:
In [1]: df = pd.DataFrame(randn(10, 3), columns=list('ABC'))

In [2]: df
Out[2]:
          A         B         C
0  1.389738 -0.205485 -0.775810
1 -1.166596 -0.898761 -1.805333
2 -1.016509 -0.816037  0.169265
3 -0.440860 -1.147164  1.558606
4  0.763012  1.068694 -0.711795
5  0.075961 -0.597715  0.699023
6  3.006095 -0.354879 -0.718440
7 -1.249588 -0.372235  1.611717
8  0.518770 -0.742766  1.956372
9  1.304080 -0.803262 -0.609970

In [3]: df.describe()
Out[3]:
               A          B          C
count  10.000000  10.000000  10.000000
mean    0.318410  -0.486961   0.137363
std     1.360633   0.616566   1.266616
min    -1.249588  -1.147164  -1.805333
25%    -0.872596  -0.812843  -0.716779
50%     0.297366  -0.670240  -0.220352
75%     1.168813  -0.359218   1.343710
max     3.006095   1.068694   1.956372

它有一个percentile_width参数,默认值为50。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接