如何获得Panda数据帧的行数?

问题:

我试图用Pandas获取数据帧数df的行数,这里是我的代码。

方法1:

total_rows = df.count
print total_rows +1

方法2:

total_rows = df['First_columnn_label'].count
print total_rows +1

这两个代码段都给我这个错误:

TypeError:不支持的+:’instancemethod’和’int’的操作数类型

我究竟做错了什么?
根据@root给出的the answer,检查df长度的最好(最快)的方法是调用:

len(df.index)

回答:

您可以使用.shape属性或只使用len(DataFrame.index)。但是,有显着的性能差异(.shape属性更快):

In [1]: import numpy as np

In [2]: import pandas as pd

In [3]: df = pd.DataFrame(np.arange(9).reshape(3,3))

In [4]: df
Out[4]: 
   0  1  2
0  0  1  2
1  3  4  5
2  6  7  8

In [5]: df.shape
Out[5]: (3, 3)

In [6]: timeit df.shape
1000000 loops, best of 3: 1.17 us per loop

In [7]: timeit df[0].count()
10000 loops, best of 3: 56 us per loop

In [8]: len(df.index)
Out[8]: 3

In [9]: timeit len(df.index)
1000000 loops, best of 3: 381 ns per loop

编辑:作为@Dan Allen在评论len(df.index)df[0].count()中注释的count不排除NaN

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: how to get row count of pandas dataframe?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

5 + 5 =