如何获取panda数据帧df的行数?
当前回答
对于数据帧df,可以使用以下任一项:
长度(df.索引)df.形状[0]df[df.columns[0]].count()(==第一列中非NaN值的数量)
再现绘图的代码:
import numpy as np
import pandas as pd
import perfplot
perfplot.save(
"out.png",
setup=lambda n: pd.DataFrame(np.arange(n * 3).reshape(n, 3)),
n_range=[2**k for k in range(25)],
kernels=[
lambda df: len(df.index),
lambda df: df.shape[0],
lambda df: df[df.columns[0]].count(),
],
labels=["len(df.index)", "df.shape[0]", "df[df.columns[0]].count()"],
xlabel="Number of rows",
)
其他回答
我从R背景来到Pandas,我发现Pandas在选择行或列时更加复杂。
我不得不与它搏斗一段时间,然后我找到了一些应对方法:
获取列数:
len(df.columns)
## Here:
# df is your data.frame
# df.columns returns a string. It contains column's titles of the df.
# Then, "len()" gets the length of it.
获取行数:
len(df.index) # It's similar.
对于dataframe df,在浏览数据时使用的打印逗号格式的行计数:
def nrow(df):
print("{:,}".format(df.shape[0]))
例子:
nrow(my_df)
12,456,789
您也可以这样做:
假设df是您的数据帧。然后df.shape为您提供数据帧的形状,即(行,列)
因此,分配以下命令以获得所需的
row = df.shape[0], col = df.shape[1]
对于数据帧df,可以使用以下任一项:
长度(df.索引)df.形状[0]df[df.columns[0]].count()(==第一列中非NaN值的数量)
再现绘图的代码:
import numpy as np
import pandas as pd
import perfplot
perfplot.save(
"out.png",
setup=lambda n: pd.DataFrame(np.arange(n * 3).reshape(n, 3)),
n_range=[2**k for k in range(25)],
kernels=[
lambda df: len(df.index),
lambda df: df.shape[0],
lambda df: df[df.columns[0]].count(),
],
labels=["len(df.index)", "df.shape[0]", "df[df.columns[0]].count()"],
xlabel="Number of rows",
)
我不确定这是否可行(数据可以省略),但这可能可行:
*dataframe name*.tails(1)
然后使用这个,您可以通过运行代码片段并查看提供给您的行号来找到行数。