我有一个看起来像这样的大数据框,
A B C
1.2 11.1 42.1
2.4 12.3 32.4
3.1 32.4 21.7
5.8 42.1
7.3 6.8
8.9 9.21
9.1 10.2
10.1 21.7
我想在B列中找到C值,并获取其对应的A值,如下所示
A B C D
1.2 11.1 42.1 5.8
2.4 12.3 32.4 3.1
3.1 32.4 21.7 10.1
5.8 42.1
7.3 6.8
8.9 9.21
9.1 10.2
10.1 21.7
谢谢
使用Series.map
,但在Series.map
列中是必需的唯一值:
B
如果不是唯一的,获取:
“ InvalidIndexError:仅对具有唯一值的Index对象有效的索引重新索引”
然后使用:
df['D'] = df['C'].map(df.set_index('B')['A'])
print (df)
A B C D
0 1.2 11.10 42.1 5.8
1 2.4 12.30 32.4 3.1
2 3.1 32.40 21.7 10.1
3 5.8 42.10 NaN NaN
4 7.3 6.80 NaN NaN
5 8.9 9.21 NaN NaN
6 9.1 10.20 NaN NaN
7 10.1 21.70 NaN NaN