如何获取panda数据帧df的行数?
当前回答
您也可以这样做:
假设df是您的数据帧。然后df.shape为您提供数据帧的形状,即(行,列)
因此,分配以下命令以获得所需的
row = df.shape[0], col = df.shape[1]
其他回答
我不确定这是否可行(数据可以省略),但这可能可行:
*dataframe name*.tails(1)
然后使用这个,您可以通过运行代码片段并查看提供给您的行号来找到行数。
除了前面的答案之外,您还可以使用df.axes获取具有行和列索引的元组,然后使用len()函数:
total_rows = len(df.axes[0])
total_cols = len(df.axes[1])
TL;DR使用长度(df)
len()返回列表对象的项数(长度)(也适用于字典、字符串、元组或范围对象)。因此,要获取DataFrame的行计数,只需使用len(df)。有关len函数的更多信息,请参见官方页面。
或者,您可以分别使用df.index和df.columns访问所有行和所有列len(df.index)将给出行数,len(df.columns)将给出列数。
或者,您可以使用df.shape,它一起返回行数和列数(作为元组),在这里您可以使用索引访问每个项。如果要访问行数,请仅使用df.shape[0]。对于列数,请只使用:df.shape[1]。
…建立在Jan Philip Gehrcke的答案之上。
len(df)或len(df.index)比df.shape[0]更快的原因是:
看看代码。df.shape是一个@属性,它运行两次调用len的DataFrame方法。
df.shape??
Type: property
String form: <property object at 0x1127b33c0>
Source:
# df.shape.fget
@property
def shape(self):
"""
Return a tuple representing the dimensionality of the DataFrame.
"""
return len(self.index), len(self.columns)
在len(df)的罩下
df.__len__??
Signature: df.__len__()
Source:
def __len__(self):
"""Returns length of info axis, but here we use the index """
return len(self.index)
File: ~/miniconda2/lib/python2.7/site-packages/pandas/core/frame.py
Type: instancemethod
len(df.index)将比len(df)稍快,因为它少了一个函数调用,但这总是比df.shape[0]快
这两种方法都可以做到(df是DataFrame的名称):
方法1:使用len函数:
len(df)将给出名为df的DataFrame中的行数。
方法2:使用计数函数:
df[col].count()将计算给定列col中的行数。
df.count()将给出所有列的行数。