与 pandas 进行外部合并时出现重复问题
Duplication issues when outer-merging with pandas
我有关于重复和 pandas 的问题。我有两个必须外连接的数据帧,例如,给定 df 1
id
type
value1
1
a
100
1
b
200
其中 id==1 包含两种具有不同值的类型,我想将其与另一个 df 连接,
id
value2
value3
1
50
300
我正在使用
合并两者
df_merged = df1.merge(df2,how='outer',on='id')
结果是
id
type
value1
value2
value3
1
a
100
50
300
1
b
200
50
300
很明显 value2 和 value3 重复,如果我例如想要对 value2 或 value3 求和。有什么方法可以合并和创建例如
id
type
value1
value2
value3
1
a
100
50
300
1
b
200
NaN
NaN
或某种其他方法?
谢谢!
您可以按照您的描述进行合并,然后使用:
df_merged.loc[df_merged.duplicated(subset=[dupe_cols]), [dupe_cols]] = np.nan
我有关于重复和 pandas 的问题。我有两个必须外连接的数据帧,例如,给定 df 1
id | type | value1 |
---|---|---|
1 | a | 100 |
1 | b | 200 |
其中 id==1 包含两种具有不同值的类型,我想将其与另一个 df 连接,
id | value2 | value3 |
---|---|---|
1 | 50 | 300 |
我正在使用
合并两者df_merged = df1.merge(df2,how='outer',on='id')
结果是
id | type | value1 | value2 | value3 |
---|---|---|---|---|
1 | a | 100 | 50 | 300 |
1 | b | 200 | 50 | 300 |
很明显 value2 和 value3 重复,如果我例如想要对 value2 或 value3 求和。有什么方法可以合并和创建例如
id | type | value1 | value2 | value3 |
---|---|---|---|---|
1 | a | 100 | 50 | 300 |
1 | b | 200 | NaN | NaN |
或某种其他方法?
谢谢!
您可以按照您的描述进行合并,然后使用:
df_merged.loc[df_merged.duplicated(subset=[dupe_cols]), [dupe_cols]] = np.nan