gpt4 book ai didi

python - 合并范围交集上的两个 DataFrame

转载 作者:太空宇宙 更新时间:2023-11-03 15:09:17 25 4
gpt4 key购买 nike

我正在尝试根据最小-最大值的交集合并两个数据帧。有没有人有一个很好的方法来处理 Pandas?

##  min  max  x1       ##  min  max   x2
##0 1 20 0.5 ##0 1 12 1.2
##1 20 30 1.5 ##1 12 30 2.2

期望的输出:

##   min  max  x1   x2
##0 1 12 0.5 1.2
##1 12 20 0.5 2.2
##2 20 30 1.5 2.2

谢谢!

最佳答案

这会根据上面的数据集为您提供所需的内容,但我感觉它可能不适用于更复杂的情况。

代码:

# Simple data frame append - since it looks like you want it ordered, you can order it here, and then reset index.
df = df1.append(df2).sort_values(by = 'max')[['min','max','x1','x2']].reset_index(drop = True)

# Here, set 'min' for all but the first row to the 'max' of the previous row
df.loc[1:, 'min'] = df['max'].shift()

# Fill NaNs
df.fillna(method = 'bfill', inplace = True)

# Filter out rows where min == max
df = df.loc[df['min'] != df['max']]

输出:

    min  max   x1   x2
0 1.0 12 0.5 1.2
1 12.0 20 0.5 2.2
2 20.0 30 1.5 2.2

关于python - 合并范围交集上的两个 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44369557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com