如何获取panda数据帧df的行数?


当前回答

您也可以这样做:

假设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",
)

这两种方法都可以做到(df是DataFrame的名称):

方法1:使用len函数:

len(df)将给出名为df的DataFrame中的行数。

方法2:使用计数函数:

df[col].count()将计算给定列col中的行数。

df.count()将给出所有列的行数。

如果要在链接操作的中间获取行数,可以使用:

df.pipe(len)

例子:

row_count = (
      pd.DataFrame(np.random.rand(3,4))
      .reset_index()
      .pipe(len)
)

如果您不想在len()函数中放一个长语句,这可能很有用。

您可以改用__len__(),但__len__)看起来有点奇怪。

假设数据集是“data”,将数据集命名为“data_fr”,data_fr中的行数为“nu_rows”

#import the data frame. Extention could be different as csv,xlsx or etc.
data_fr = pd.read_csv('data.csv')

#print the number of rows
nu_rows = data_fr.shape[0]
print(nu_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.