【问题标题】:Reorganizing repeated rows with one unique value into columns将具有一个唯一值的重复行重新组织为列
【发布时间】:2021-08-26 00:49:08
【问题描述】:

我有一个格式很差的化学分析数据的数据框。惯例是有一行包含 ID、空间数据和其他属性数据,其浓度都在金、银、锌的列下(它们的列标记为 Au_PPM、Ag_PPM、Zn_PPM)。但是,该数据集对样本中的每个元素都有单独的行,所有其他数据都被重复。 如何合并具有相同样本 ID 和属性信息但唯一 VALUE(例如 0.4)和 CHEM_UNIT 列(例如 Ag_PPM)的重复行,其中 CHEM UNIT 成为列名,每行中的 VALUES 填充合适的 CHEM_UNIT 列? 基本上只是试图将重复的数据压缩成一行。

来自 df 的样本:

    SAMPLE_NO   SAMPLE_SOURCE   DH_DEPTH_FROM   DH_DEPTH_TO LONGITUDE_GDA2020   LATITUDE_GDA2020    VALUE   CHEM_UNIT
0   3580567 A full face slice of core   575.0   577.0   136.692456  -28.878919  135.0   Ba_PPM
1   3580567 A full face slice of core   575.0   577.0   136.692456  -28.878919  0.0 Ag_PPM
2   3580567 A full face slice of core   575.0   577.0   136.692456  -28.878919  0.0 As_PPM
3   3580567 A full face slice of core   575.0   577.0   136.692456  -28.878919  0.0 Au_PPM
4   3580567 A full face slice of core   575.0   577.0   136.692456  -28.878919  2.5 Be_PPM

任何见解将不胜感激!

【问题讨论】:

  • 能否请您发送一个指向数据的 csv 文件的链接?这将使您的问题更容易解决
  • 这是一个 5 GB 的 csv,不适合发送。但是,如果您是这个意思,我可以提供更多示例数据。
  • 是的,我就是这个意思

标签: python pandas data-science


【解决方案1】:

您可以使用df.drop_duplicates()Documentation.

【讨论】:

  • 这将删除除第一个之外的所有化验值。目标是保留样本中的第一行,根据 CHEM_UNIT 列添加字段,并用值填充它,将每个样本系列变成一行。
猜你喜欢
  • 1970-01-01
  • 2017-09-18
  • 2019-03-24
  • 2023-01-21
  • 1970-01-01
  • 1970-01-01
  • 2016-11-07
  • 1970-01-01
  • 2013-02-18
相关资源
最近更新 更多