Python 根据字符串-列值有条件地设置值
我有一个由不同输出设置位置和值的数据框。我还有一个专栏,告诉我要使用哪个专栏。大概是这样的:Python 根据字符串-列值有条件地设置值,python,pandas,Python,Pandas,我有一个由不同输出设置位置和值的数据框。我还有一个专栏,告诉我要使用哪个专栏。大概是这样的: location x y z best detroit 1 2 3 x chicago 3 4 5 y racine 2 4 3 z 我想根据best的值设置新列的值 差不多 location x y z best val detroit 1 2 3 x 1 chicago 3 4 5 y 4 racine 2 4 3 z 3 我该怎么做?不允许嵌套函
location x y z best
detroit 1 2 3 x
chicago 3 4 5 y
racine 2 4 3 z
我想根据best的值设置新列的值
差不多
location x y z best val
detroit 1 2 3 x 1
chicago 3 4 5 y 4
racine 2 4 3 z 3
我该怎么做?不允许嵌套函数、自定义函数或for循环 使用:
输出
备选方案:
df['val'] = df[['x','y','z']].lookup(df.index, df['best'])
print(df)
location x y z best val
0 detroit 1 2 3 x 1
1 chicago 3 4 5 y 4
2 racine 2 4 3 z 3
df['val']=df[['x','y','z']].stack().loc[zip(df.index, df['best'])].values