【问题标题】:Copying one row of dataframe to another将一行数据框复制到另一行
【发布时间】:2017-05-26 18:12:34
【问题描述】:

有两个数据框,比如 df1 和 df2。

df1[Age]: 10, 20 30

df2[Income]: 100, 1000, 1500

如何创建一个新的数据框 df3,它由 df1 中的行组成,这样

df2.loc[k]['income'] >1000?

在上面给出的示例中,我会

df3[Age]: 20, 30

同样,df4[Age, Income]: (20, 1000), (30, 1500)

谢谢。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:
    In [232]: df3 = df1.join(df2).query("Income >= 1000")
    
    In [233]: df3
    Out[233]:
       Age  Income
    1   20    1000
    2   30    1500
    

    更新:

    In [269]: idx = df2.index[df2.Income.ge(1000)]
    
    In [270]: df3 = df1.loc[idx].join(df2.loc[idx])
    
    In [271]: df3
    Out[271]:
       Age  Income
    1   20    1000
    2   30    1500
    

    或者简单地说:

    In [275]: df2.loc[df2.Income.ge(1000)].join(df1)
    Out[275]:
       Income  Age
    1    1000   20
    2    1500   30
    

    【讨论】:

    • 谢谢。如果 df2 很大并且包含很多不相关的数据,那么 join(df2) 步骤会花费一些时间,最终大部分不相关的数据将被丢弃。对此有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-20
    • 1970-01-01
    • 2019-06-04
    • 2023-03-17
    • 2017-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多