python - 如何合并具有不同索引的两个不同变量?
问题描述
我正在处理一个大型数据集,我不得不清理一些行,所以现在没有遵循索引,因为有些缺失了。我现在有:
A
2 2
5 4
7 5
8 6
17 6
21 8
无论 A 列是什么意思,我都必须处理它,拆分它并转换它。所以,最后,我有两个由该操作产生的变量(A_case1,A_case2),其中:
print(A_case1)
2 4
7 2
17 3
21 2
print(A_case2)
5 2
8 1
但现在我想合并这两个变量并加入原始数据框。所以我希望最终结果是:
A A_case1_Case2
2 2 4
5 4 2
7 5 2
8 6 1
17 6 3
21 8 2
我已经尝试过 pd.concat 但无法加入数据框。任何人都可以帮助我吗?
解决方案
首先将新数据帧合并A_case1
到A_case2
原始数据帧中(df
):
merged = df.merge(A_case1, left_index=True, right_index=True, how='left').merge(A_case2, left_index=True, right_index=True, how='left')
A_case1_case2
然后通过加入两个中间列A_case1
和来创建新列A_case2
:
merged['A_case1_case2'] = merged[['A_case1', 'A_case2']].apply(lambda x: ''.join(x.dropna().astype(int).astype(str)), 1)
最后删除中间列A_case1
和A_case2
:
merged = merged.drop(['A_case1', 'A_case2'], 1)
推荐阅读
- python - 我想在 Python 中为自定义 Alexa 技能、问答项目随机化响应
- python - 如何从字典中删除小于指定字符长度的值?
- spring - 错误:java.lang.ClassNotFoundException:org.hibernate.cfg.AnnotationConfiguration
- python - 如何在 pandas DataFrame 中将 int 转换为 datetime
- javascript - firebase 仅获取所需的数据 javascript
- nestjs - 我可以将实体字段名称映射到 TypeORM 中的别名列名称吗?
- flutter - 当可选参数之一不是成员变量并且它是必需的时,如何扩展一个类?
- python - 给定一个熊猫数据框,如何检查和计算行字符串是否在一行嵌套列表中?
- java - 在 Netbeans 中构建 jEdit:错误:无法找到或加载主类 org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner
- angular - .NET Core 2.2 + Angular 7“xhr_streaming”永无止境