gpt4 book ai didi

pandas - 连接两个具有重复键值的数据帧

转载 作者:行者123 更新时间:2023-12-02 03:32:00 25 4
gpt4 key购买 nike

有两个数据框:

df1=

    Col Date        Days
0 A 20180830 30
1 A 20180927 58
2 A 20181025 86
3 B 20180830 30
4 B 20180927 58
5 B 20181025 86
6 C 20180802 2
7 C 20180809 9
8 C 20180816 16
9 C 20180823 23

df2=

    Col Lot     Pct
13 A 4000 16.19
184 B 600 7.51
206 C 250 5.00
...

如何制作单个数据框:

df=

    Col Date        Days    Lot     Pct
0 A 20180830 30 4000 16.19
1 A 20180927 58 4000 16.19
2 A 20181025 86 4000 16.19
3 B 20180830 30 600 7.51

df1.join(df2, on='Col') 给出 KeyError: 'Col' # 检查重复项

最佳答案

您可以使用 pd.merge 来加入 Pandas 中的数据框。

示例如下:

import pandas as pd

data_1 = {'Col': ['A', 'A', 'B', 'B', 'C', 'C'], 'Date': [20180830, 20180927, 20180830, 20180927, 20180809, 20180816], 'Days':[1,2,3,4,5,6]}

df1 = pd.DataFrame(data=data_1)

df1

df=

   Col  Date    Days
0 A 20180830 1
1 A 20180927 2
2 B 20180830 3
3 B 20180927 4
4 C 20180809 5
5 C 20180816 6

创建 df2

data_2 = {'Col': ['A', 'B', 'C'], 'Lot': [4000, 600, 250], 'PCT': [16.19, 7.51, 5.00]}

df2 = pd.DataFrame(data=data_2)

df2=

    Col Lot     PCT
0 A 4000 16.19
1 B 600 7.51
2 C 250 5.00

您可以使用以下方式连接上述两个数据框:

pd.merge(df1, df2, on="Col")

输出将是:

    Col Date       Days Lot     PCT
0 A 20180830 1 4000 16.19
1 A 20180927 2 4000 16.19
2 B 20180830 3 600 7.51
3 B 20180927 4 600 7.51
4 C 20180809 5 250 5.00
5 C 20180816 6 250 5.00

关于pandas - 连接两个具有重复键值的数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51588192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com