【问题标题】:Pandas creating new dataframe based on old dataframePandas 基于旧数据框创建新数据框
【发布时间】:2021-11-28 16:18:15
【问题描述】:

我正在尝试从两个现有数据框中获取数据,并根据前两个中的值创建第三个。我需要根据 DF_1(区域)中第 3 列的值创建一个新的数据框。如果数据读取“所有区域”,则新的 DF 需要包含每个可能的商店区域组合的记录。

DF_1 |带价格区的 SKU

SKU with Price Zone

DF_2 |商店和价格区

Store and Price Zone

想要的 DF 3

Desired Output

我尝试了许多不同的方法,但无法确定基于另一个数据帧将行相乘并仍保持原始数据的过程。感谢所有帮助。

【问题讨论】:

  • 请不要发布代码图片,这让我们更难点击并返回。只需将其复制并粘贴到此处并将其格式化为代码即可。
  • 请发布running示例代码。我们需要经过测试的答案,最好的方法是运行示例。

标签: python pandas dataframe join merge


【解决方案1】:

您应该首先在 DF_1 上进行一些操作,以使其每个区域只有一行。带有“所有区域”的行应该复制到与区域一样多的行中,并且第 2 行应该复制到三行,每个区域一个。那将是一种更好的数据格式。

(为了轻松地将“所有区域”转换为每个区域一行,您可以创建 DF_2 的副本,删除“存储”列并添加具有 SKU 值的列(对第 1 行和第DF_1 中的 3))。

一旦你有了它,你就可以轻松地mergeDF_1 和 DF_2 使用区域列作为连接键。

【讨论】:

    猜你喜欢
    • 2022-07-31
    • 2020-02-29
    • 2019-02-02
    • 2018-05-20
    • 1970-01-01
    • 2018-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多