按列名查找
Lookup by column name
请问如何使用一列 (X) 通过另一个数据框 (df_2) 的列标题查找值?
例如:
df_1 = pd.DataFrame({'X' : [ 1, 2, 1, 1, 1, 2, 1, 2, 2, 1]})
df_2 = pd.DataFrame({'1' : ['a','b','c','d','e','f','g','h','i','j'],
'2' : ['b','c','d','e','f','g','h','i','j','a']})
我的目标是:
a c c d e g g i j j
我试过了:
for index, row in df_1.iterrows():
df_1['Y'] = df_2[df_1['X'][index]]
但是我得到了:
KeyError: 1
使用 lookup
和转换列 X
进行字符串化,感谢@Zero:
a = df_2.lookup(df_2.index, df_1.X.astype(str))
print (a)
['a' 'c' 'c' 'd' 'e' 'g' 'g' 'i' 'j' 'j']
请问如何使用一列 (X) 通过另一个数据框 (df_2) 的列标题查找值?
例如:
df_1 = pd.DataFrame({'X' : [ 1, 2, 1, 1, 1, 2, 1, 2, 2, 1]})
df_2 = pd.DataFrame({'1' : ['a','b','c','d','e','f','g','h','i','j'],
'2' : ['b','c','d','e','f','g','h','i','j','a']})
我的目标是:
a c c d e g g i j j
我试过了:
for index, row in df_1.iterrows():
df_1['Y'] = df_2[df_1['X'][index]]
但是我得到了:
KeyError: 1
使用 lookup
和转换列 X
进行字符串化,感谢@Zero:
a = df_2.lookup(df_2.index, df_1.X.astype(str))
print (a)
['a' 'c' 'c' 'd' 'e' 'g' 'g' 'i' 'j' 'j']