我如何获得熊猫数据框的行数?

我试图用Pandas得到dataframe 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给出的答案,检查df长度的最佳(最快)方式是调用:

df.shape[0]

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

In [1]: import numpy as np

In [2]: import pandas as pd

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

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

In [5]: df.shape
Out[5]: (4, 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]: 4

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


使用len(df) 。 这适用于0.11或更早的熊猫。

__len__()目前(0.12)记录了Returns length of index 。 计时信息的设置方式与root的回答相同:

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

In [8]: timeit len(df)
1000000 loops, best of 3: 573 ns per loop

由于有一个额外的函数调用,它比直接调用len(df.index)要慢一些,但在大多数用例中这不应该起任何作用。


假设df是你的数据框,那么:

Count_Row=df.shape[0] #gives number of row count
Count_Col=df.shape[1] #gives number of col count
链接地址: http://www.djcxy.com/p/70927.html

上一篇: How do I get the row count of a Pandas dataframe?

下一篇: Change data type of columns in Pandas