我有两个数据框:
ONE=pd.read_csv('ONE.csv')
value_one value_two
2 4
3 1
4 2
TWO=pd.read_csv('TWO.csv')
X 1 2 3 4 5 6 7 8
1 a c j a d c c d
2 c k a d c c d e
3 f c k a d c c d
4 c k a d c c d j
我需要在一个数据框(ONE['result']
中创建其他列
在以下条件下:
如果value_one等于数据帧头2中的值
和value_two等于X列中两个数据框的值
设置新列的公共值。
expected result:
value_one value_two result
2 4 k
3 1 j
4 2 d
我尝试过:仅用于比较标头if ONE[value_one]==TWO.iloc[0]
谢谢你,
答案 0 :(得分:1)
lookup
您可以lookup
第二个数据框:
df_two = df_two.set_index('X') # set 'X' column as index
df_two.columns = df_two.columns.astype(int) # ensure column labels are numeric
df_one['result'] = df_two.lookup(df_one['value_two'], df_one['value_one'])
print(df_one)
value_one value_two result
0 2 4 k
1 3 1 j
2 4 2 d