pandasデータフレームのカラムの書き換え

pandasのカラムの書き換えがうまくいかなかったのでいろいろ調べてみました。

カラムは基本的に書き換え不可だが、rename()を使ってinplace=Trueを指定すると可能。

import pandas as pd

data = pd.DataFrame(index=[1, 2, 3], columns=['a', 'b', 'c'])
print(data)
#これでは書き換えることはできない
data.rename(columns={'a': 'A'})
print(data)
# 破壊的に書き換える場合はinplace=Trueにする
data.rename(columns={'a': 'A'}, inplace=True)
print(data)
#index番号の指定でも可能だけど、結局名前で指定しているので
data.rename(columns={data.columns[0]: 'b'}, inplace=True)
print(data)
# 同じ列名があると全て変更してしまう
data.rename(columns={data.columns[0]: 'B'}, inplace=True)
print(data)

出力

     a    b    c
1  NaN  NaN  NaN
2  NaN  NaN  NaN
3  NaN  NaN  NaN
     a    b    c
1  NaN  NaN  NaN
2  NaN  NaN  NaN
3  NaN  NaN  NaN
     A    b    c
1  NaN  NaN  NaN
2  NaN  NaN  NaN
3  NaN  NaN  NaN
     b    b    c
1  NaN  NaN  NaN
2  NaN  NaN  NaN
3  NaN  NaN  NaN
     B    B    c
1  NaN  NaN  NaN
2  NaN  NaN  NaN
3  NaN  NaN  NaN
タイトルとURLをコピーしました