我如何获得熊猫数据框的行数?
我试图用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