我必须使用如下数据框:
df1: condition
A
A
A
B
B
B
B
df2: condition value
A 1
B 2
我想为每个条件分配其值,在df1中添加一列以获得:
df1: condition value
A 1
A 1
A 1
B 2
B 2
B 2
B 2
我该怎么做?预先谢谢你!
答案 0 :(得分:4)
如果只需要添加一列,则使用map
和set_index
创建的Series
:
df1['value'] = df1['condition'].map(df2.set_index('condition')['value'])
print (df1)
condition value
0 A 1
1 A 1
2 A 1
3 B 2
4 B 2
5 B 2
6 B 2
如果df2
有更多列,请使用merge
进行左联接:
df = df1.merge(df2, on='condition', how='left')
print (df)
condition value
0 A 1
1 A 1
2 A 1
3 B 2
4 B 2
5 B 2
6 B 2