1. ホーム
  2. python

[解決済み] Pandas DataFrameの行数を取得する方法は?

2022-03-18 21:25:52

質問

Pandasでdataframe dfの行数を取得しようとしているのですが、以下のようなコードになっています。

方法1:

total_rows = df.count
print total_rows + 1

方法2:

total_rows = df['First_column_label'].count
print total_rows + 1

両方のコードスニペットで、このエラーが発生しました。

TypeError: サポートされていないオペランドタイプ(複数可) for +: 'instancemethod' and 'int'

私は何を間違えているのでしょうか?

どうすればいいですか?

データフレームの場合 df は、次のいずれかを使用することができます。

  • len(df.index)
  • df.shape[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",
)