【发布时间】:2020-09-19 11:17:55
【问题描述】:
我有两个如下所述的数据框
数据框 1
P_ID P_Name P_Description P_Size
100 Moto Mobile 16
200 Apple Mobile 15
300 Oppo Mobile 18
数据框 2
P_ID List_Code P_Amount
100 ALPHA 20000
100 BETA 60000
300 GAMMA 15000
要求: 需要通过 P_ID 加入两个数据帧。
有关数据框的信息: 在数据框 1 中,P_ID 是主键,而数据框 2 没有任何主属性。
如何加入数据框 需要根据数据框 2 List_Code 的值在数据框 1 中创建新列,并附加“_price”。如果数据框 2 List_Code 包含 20 个唯一值,我们需要在数据框 1 中创建 20 列。然后,我们根据 P_ID 从数据框 2 P_Amount 列(如果存在)填充数据框 1 中新创建的列中的值,否则填充为零。创建数据框后,我们需要根据 P_ID 加入数据框。如果我们在数据框 1 中添加具有预期值的列,我们可以加入数据框。我的问题是创建具有预期值的新列。
预期的数据框如下所示
预期数据帧
P_ID P_Name P_Description P_Size ALPHA_price BETA_price GAMMA_price
100 Moto Mobile 16 20000 60000 0
200 Apple Mobile 15 0 0 0
300 Oppo Mobile 18 0 0 15000
你能帮我解决这个问题吗,在此先感谢。
【问题讨论】:
-
这能回答你的问题吗? Pandas Merging 101
-
在数据框 2 中,P_ID 不是主键。在同一个 P_ID 中可能会找到 2 条以上的记录。如何合并@pyOliv
标签: python-3.x dataframe apache-spark pyspark pyspark-dataframes