【问题标题】:Fetch row data from known index in pandas从 pandas 中的已知索引中获取行数据
【发布时间】:2020-09-26 16:11:47
【问题描述】:

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 中。
我不知道如何通过索引号获取数据。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    由另一个Series使用Series.map

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

    或将DataFrame.joinrename 列一起使用:

    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
    

    【讨论】:

      【解决方案2】:

      您可以使用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
      

      【讨论】:

        猜你喜欢
        • 2013-05-17
        • 1970-01-01
        • 2021-08-13
        • 1970-01-01
        • 2021-12-06
        • 2019-03-17
        • 2022-06-29
        • 1970-01-01
        • 2017-10-12
        相关资源
        最近更新 更多