Pandasで「列数」を取得する方法はいくつかあります。
シーンに応じて最適な方法が変わるので、それぞれ詳しく解説します。
目次
shape
を使う方法
最もシンプルでよく使われる方法です。
import pandas as pd
df = pd.DataFrame({
"A": [1, 2, 3],
"B": [4, 5, 6],
"C": [7, 8, 9]
})
print(df.shape) # (3, 3)
print(df.shape[1]) # 列数 = 3
df.shape
は(行数, 列数)
のタプルを返します。- そのうち
df.shape[1]
が列数です。
メリット: 高速で直感的。
デメリット: shape[0]
と混同しやすい。
len(df.columns)
を使う方法
列ラベル(Index)の数を数える方法です。
print(len(df.columns)) # 3
df.columns
は列名のIndexを返します。len()
をかけると列数になります。
メリット: 「列ラベルの数」という意味が明確。
デメリット: 若干冗長。
df.columns.size
を使う方法
同じく列Indexを利用したやり方ですが、size
属性を直接参照できます。
print(df.columns.size) # 3
- 内部的には
len(df.columns)
とほぼ同じです。
df.info()
で確認する方法(概要チェック向け)
厳密に列数をコードで扱うというより、「確認したい」場合に有効です。
df.info()
出力例
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 A 3 non-null int64
1 B 3 non-null int64
2 C 3 non-null int64
dtypes: int64(3)
memory usage: 200.0 bytes
ここで Data columns (total 3 columns):
の部分に列数が表示されます。
実用的な使い分け
- コード処理で列数を変数として使う
→df.shape[1]
かlen(df.columns)
がベスト - デバッグやデータ確認
→df.info()
- 可読性重視(他人と共有するコード)
→len(df.columns)
(「列数を数えている」と分かりやすい)
まとめ
方法 | 例 | 特徴 |
---|---|---|
df.shape[1] | print(df.shape[1]) | 最速・シンプル |
len(df.columns) | print(len(df.columns)) | 可読性が高い |
df.columns.size | print(df.columns.size) | len とほぼ同じ |
df.info() | df.info() | 確認用に便利 |
以上、PythonのPandasの列数の取得方法についてでした。
最後までお読みいただき、ありがとうございました。