【问题标题】:Python Pandas: how to overwrite subset of a dataframe with a subset of another dataframe?Python Pandas:如何用另一个数据帧的子集覆盖数据帧的子集?
【发布时间】:2015-07-08 06:01:37
【问题描述】:

鉴于df1df2,我如何使用pandas 获得df3,其中df3 具有df1 元素:

[11, 12, 21, 22]

代替df2元素

[22, 23, 32, 33]

条件:df1的第1行和第2行的索引与df2的第2行和第3行的索引相同

【问题讨论】:

    标签: pandas merge subset


    【解决方案1】:

    您正在寻找DataFrame.loc method

    小例子:

    import pandas as pd
    df1 = pd.DataFrame({"data":[1,2,3,4,5]})
    df2 = pd.DataFrame({"data":[11,12,13,14,15]})
    df3 = df1.copy()
    df3.loc[3:4] = df2.loc[3:4]
    
    df3
       data
    0     1
    1     2
    2     3
    3    14
    4    15
    

    【讨论】:

    • 还有一个问题 - 如果我想使用索引和列名的子集来合并两个数据帧中的值,而不是位置?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-10
    • 2018-06-07
    • 2013-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多