これは ZOZO Advent Calendar 2024 カレンダー Vol.8 の19日目の記事です。
目的
pandas.DataFrameの要素にindexやcolumnをプレフィックス(接頭辞)、サフィックス(接尾辞)に追加する
コード
import pandas as pd
df = pd.DataFrame({'A': ["A", "AA"], 'B': ["B", "BB"], 'C': ["C", "CC"]},
index=['ONE', 'TWO'])
dfは以下のテーブルになる
A | B | C | |
---|---|---|---|
ONE | A | B | C |
TWO | AA | BB | CC |
columnを接頭辞、接尾辞に追加する
接頭辞に付ける場合以下のテーブルが出力される
A | B | C | |
---|---|---|---|
ONE | A_A | B_B | C_C |
TWO | A_AA | B_BB | C_CC |
接尾辞に付ける場合以下のテーブルが出力される
A | B | C | |
---|---|---|---|
ONE | A_A | B_B | C_C |
TWO | AA_A | BB_B | CC_C |
コード
# 接頭辞に付ける場合
df.columns.to_list() + ("_"+ df)
# 接尾辞に付ける場合
(df + "_") + df.columns
indexを接頭辞、接尾辞に追加する
接頭辞に付ける場合以下のテーブルが出力される
A | B | C | |
---|---|---|---|
ONE | ONE_A | ONE_B | ONE_C |
TWO | TWO_AA | TWO_BB | TWO_CC |
接尾辞に付ける場合以下のテーブルが出力される
A | B | C | |
---|---|---|---|
ONE | A_ONE | B_ONE | C_ONE |
TWO | AA_TWO | BB_TWO | CC_TWO |
# 接頭辞に付ける場合
(df.index + ("_" + df.T)).T
# 接尾辞に付ける場合
((df.T + "_") + df.index).T