💨

DataFrameのindexやcolumnsに任意の値を後付けで設定する

2023/02/05に公開

DataFrameのindexやcolumnsに任意の値を後付けで設定する

DataFrameのindexやcolumnsをオプションで指定しなかった場合、自動で0始まりの連番が振られるが任意の値をindexやcolumnsへ後付け設定したいとき

実装

import pandas as pd

df = pd.DataFrame([
    [1, 2, 3],
    ['a', 'b', 'c'],
    ['ア', 'イ', 'ウ'],
])
print(df)

df.index = ['a'] * len(df)
df.columns = ['A', 'B', 'C', ]
print(df)

結果

   0  1  2
0  1  2  3
1  a  b  c
2  ア  イ  ウ

   A  B  C
a  1  2  3
a  a  b  c
a  ア  イ  ウ

設定しようとしているindex数もしくはcolumns数が合わない

設定したいindexやcolumnsの数がDataFrameにあるindexやcolumnsの数と不一致の場合はエラーが発生する
以下の例だとDataFrameには3列あるが設定しようとしている列数は2列のため

実装

df = pd.DataFrame([
    [1, 2, 3],
    ['a', 'b', 'c'],
    ['ア', 'イ', 'ウ'],
])
df.columns = ['A', 'B', ]

結果

ValueError: Length mismatch: Expected axis has 3 elements, new values have 2 elements

Discussion