我正在尝试用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给出的@root检查df长度的最佳(最快)方法是调用:
df.shape[0]
11 回答
如果您想在链式操作的中间获取行计数,您可以使用:
例:
如果您不想在len()函数中放置long语句,这可能很有用 .
您可以使用__len __()代替但__len __()看起来有点奇怪 .
假设
df
是您的数据帧:我从
R
背景来到pandas,我发现在选择行或列时,大熊猫更复杂 . 我不得不与它搏斗一段时间,然后我找到了一些方法来处理:获取列数:
获取行数:
对于dataframe df,在浏览数据时使用打印的逗号格式行计数:
例:
len() 是你的朋友,行数的简短回答是
len(df)
.或者,您可以通过
df.index
按df.index
和所有列访问所有行,并且因为您可以使用 len(anyList) 获取列表计数,因此您可以使用len(df.index)
获取行数,使用len(df.columns)
作为列计数 .或者,您可以使用
df.shape
将行数和列数一起返回,如果要访问的行数仅使用df.shape[0]
,并且列数仅使用:df.shape[1]
.df.shape
以元组的形式返回数据框的形状(行数,列数) .你可以简单地访问否 . 行或否 . cols分别为
df.shape[0]
或df.shape[1]
,与访问元组的值相同 .行数(使用任何一个):
使用
len(df)
. 这适用于熊猫0.11或甚至更早 .__len__()
目前(0.12)记录Returns length of index
. 时间信息,设置方式与root的答案相同:由于一个额外的函数调用它比直接调用
len(df.index)
慢一点,但这在大多数用例中不起任何作用 .除了上面的答案,使用
df.axes
可以使用行和列索引获取元组,然后使用len()
函数:......以Jan-Philip Gehrcke的答案为基础 .
len(df)
或len(df.index)
比df.shape[0]
快的原因 . 看看代码 . df.shape是@property
,运行两次调用len
的DataFrame方法 .在len(df)的引擎盖下
len(df.index)
会比len(df)
略快,因为它只有一个较少的函数调用,但这总是比df.shape[0]
快您可以使用
.shape
属性或只使用len(DataFrame.index)
. 但是,性能差异显着(len(DataFrame.index)
最快):编辑:正如@Dan Allen在评论中指出
len(df.index)
和df[0].count()
不可互换,因为count
排除NaN
s,