3 回答

TA貢獻(xiàn)1864條經(jīng)驗 獲得超6個贊
你快到了。由于您必須為每一行都做,因此您可以使用lambda
函數(shù)來完成這項工作。
table['number_index'] = table.apply(lambda x: x["number_" + str(x['index'])], axis = 1)

TA貢獻(xiàn)1906條經(jīng)驗 獲得超10個贊
在名稱lookup之后使用str splitcolumns
df1=df.copy()
df1.columns=df1.columns.str.split('_').str[-1]
df['Newval']=df1.lookup(df.index,df['index'].astype(str))
df
Out[34]:
number_1 number_2 number_3 number_100 index Newval
0 1 2 2000 8 3 2000
1 201 10 21 2 1 201

TA貢獻(xiàn)1883條經(jīng)驗 獲得超3個贊
我真的不明白你的問題。如果您想在名稱中放置一個變量,我會建議使用該exec
命令。
exec("table['number_index'] = " + f'''table['number_' + {str(table['index'])}]'''
因此,您可以執(zhí)行字符串命令。隨著f'''{var_name}'''
您可以將字符串和變量。
添加回答
舉報