1. ホーム
  2. python

[解決済み] Pandas DataFrameのヘッダから空白を取り除くにはどうしたらいいですか?

2022-09-14 23:53:34

質問

Excelファイルからデータを解析していますが、列見出しの一部に余分な空白があります。

結果のデータフレームの列をチェックする際に df.columns で、確認します。

Index(['Year', 'Month ', 'Value'])
                     ^
#                    Note the unwanted trailing space on 'Month '

その結果、できない。

df["Month"]

なぜなら、私は "Month " ではなく "Month" を要求したので、列が見つからないと言われるからです。

私の質問は、列の見出しから不要な空白を取り除くにはどうしたらよいかということです。

どのように解決するのですか?

には関数を与えることができます。 rename メソッドに渡すことができます。そのため str.strip() メソッドはあなたが望むことをするはずです。

In [5]: df
Out[5]: 
   Year  Month   Value
0     1       2      3

[1 rows x 3 columns]

In [6]: df.rename(columns=lambda x: x.strip())
Out[6]: 
   Year  Month  Value
0     1      2      3

[1 rows x 3 columns]

注意 を返すということです。 DataFrame オブジェクトを返し、それは画面上に出力として表示されますが、変更は実際にはカラムに設定されていないことに注意してください。変更を行うには、これをメソッドチェーンで使用するか、あるいは df バリアベを再割り当てします。

df = df.rename(columns=lambda x: x.strip())