アプリ版:「スタンプのみでお礼する」機能のリリースについて

df_column = pd.Series(['col_2', 'col_0', 'col_3'],
index=['row_0', 'row_1', 'row_2'])



df = pd.DataFrame({'col_0': [10, 20, 30],
'col_1': [11, 21, 31],
'col_2': [12, 22, 32],
'col_3': [13, 23, 33]},
index=['row_0', 'row_1', 'row_2'])


上記のSeriesとDataframeから下記のSeriesを作成することは可能でしょうか。

# row_0 12
# row_1 20
# row_2 33

dfの各行の中でdf_columnで指定した列名の列を抽出したいです。
for文を使えば可能ですが、時間がかかりすぎるため、for文を使わず処理速度が早めが希望です。

for index, row in df.iterrows():
print(df.loc[index, df_column[index]])


df.apply(lambda x: ●● , axis=1)
みたいな形でできるような気もするんですが、解決できず困っております。

A 回答 (1件)

単にリスト内包表記で良くない?



[df.loc[index, df_column[index]] for index, row in df.iterrows()]
    • good
    • 0
この回答へのお礼

できました!あり1

お礼日時:2023/05/26 16:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!