从熊猫中的已知索引中获取行数据

时间:2020-09-26 07:48:16

标签: python pandas dataframe

df1:

   col1   col2
0   a     5
1   b     2
2   c     1
 

df2:

   col1
0   qa0
1   qa1
2   qa2
3   qa3
4   qa4
5   qa5

最终输出:

   col1   col2  col3
0   a     5     qa5
1   b     2     qa2
2   c     1     qa1

基本上,在df1中,我为另一个df数据存储了索引。我必须从df2获取数据并将其附加到df1中。
我不知道如何通过索引号获取数据。

2 个答案:

答案 0 :(得分:1)

由另一个Series使用Series.map

df1['col3'] = df1['col2'].map(df2['col1'])

或在rename列中使用DataFrame.join

df1 = df1.join(df2.rename(columns={'col1':'col3'})['col3'], on='col2')

print (df1)
  col1  col2 col3
0    a     5  qa5
1    b     2  qa2
2    c     1  qa1

答案 1 :(得分:1)

您可以使用iloc获取数据,然后使用to_numpy获取值

df1["col3"] = df2.iloc[df1.col2].to_numpy()

df1
  col1  col2 col3
0    a     5  qa5
1    b     2  qa2
2    c     1  qa1