【问题标题】:Pandas - matching values across different CSVs and then appending a column to original filePandas - 跨不同 CSV 匹配值,然后将一列附加到原始文件
【发布时间】:2021-09-11 17:17:13
【问题描述】:

这里是原始程序员。我的任务是清理以 csv 格式存储的医疗数据。

(请记住,当您阅读本文时,我只是一个初级程序员,因此感谢您的耐心等待)

我有一个文件,我们称之为data1,它看起来像这样: data1。它有大约 17,000 行/患者

inc_key 指的是唯一的患者 ID。

我有另一个文件,我们将其称为 data2,它的格式相同,只是其中存储了不同的信息,但它包含数百万行/患者。

我的目标是,对于data1中的每一行/患者,我需要在data2中找到匹配的患者(inc_key值),然后将相应的信息附加(添加到该患者的末尾)到同一患者中数据1。

也就是说,我需要合并这两个文件,除了inc_key值需要匹配。

我正在使用 pandas 模块,有人可以帮我解决这个问题吗?

提前感谢任何提供帮助的人,由于我只是初学者,因此非常感谢。

【问题讨论】:

标签: python pandas database dataframe csv


【解决方案1】:

您正在寻找合并,

这里的文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.merge.html

你可以像这样合并数据框,

data1.merge(data2, on=['inc_key'], how='left')

如果在 data2 中找不到 inc_key 时,您可以接受数据丢失,请使用内部连接。

你也可以从data2中只选择你需要的列,像这样加入,

data1.merge(data2[list_of_columns + ['inc_key']], on=['inc_key'], how='left')

【讨论】:

  • 非常感谢!有没有办法让我只合并 data2 中的指定列?还是我必须合并所有这些?
  • 如果你愿意,可以从data2中选择你需要的列
猜你喜欢
  • 1970-01-01
  • 2023-02-07
  • 1970-01-01
  • 2015-03-10
  • 1970-01-01
  • 1970-01-01
  • 2015-03-06
  • 1970-01-01
  • 2018-09-25
相关资源
最近更新 更多