python - 使用 Pandas [with key column] 将 CSV 与不同的列组合
问题描述
我正在尝试在 Python 中组合两个 CSV 文件,每个 CSV 文件都有唯一的列,但两个 CSV 文件共享一个公共键列。
我一直在查看 StackOverflow/Google/Pandas 文档,但没有找到我想要的东西。Pandas 文档页面上提供的 merge 和 concat 示例与我试图实现的不同,所以我不确定我所要求的是否可以使用 Pandas。
我已将两个 CSV 文件中的选定列读入单独的数据帧,我现在想做的是根据关键列将两个数据帧组合成一个数据帧。
Example
CSV 1:
Key Make Model
501 Audi A3
502 Audi A4
503 Audi A5
CSV 2:
Key Engine
501 2.0T
502 2.0T
503 2.0T
Combined Expected Result:
Key Make Model Engine
501 Audi A3 2.0T
502 Audi A4 2.0T
503 Audi A5 2.0T
解决方案
您需要将 csvs 读入 2 个单独的数据框,然后将它们加入“键”列。
import pandas as pd
df1 = pd.read_csv('csv1.csv')
df2 = pd.read_csv('csv2.csv')
df_final = df1.merge(df2, left_on = 'Key', right_on = 'Key')
推荐阅读
- r - 如何使用基本 R 滞后函数?
- intellij-idea - Intellij/Scalatest 无法开始测试
- caching - 将独立 redis 标记为只读
- c# - 使用 .NET Core Web API 3.1 进行基于 JWT 角色的授权时出现 403 错误
- ios - Swift 用特殊关键字标记枚举元素
- python - 如何组合两个数据框并自然地对混合字母数字类型的列进行排序?
- html - 引导 div 错位
- javascript - 希望将 Tabulator 和 Wavesurfer.js 波形图片组合成单独的行
- python - UnicodeDecodeError:“utf-8”编解码器无法解码位置 0 中的字节 0xb0:无效的起始字节
- spring - spring data jpa和jpa实现