将数据帧与列表的数据帧连接起来

2024-05-23 15:57:54 发布

您现在位置:Python中文网/ 问答频道 /正文

如下图所示,我有两个panda数据帧要合并。 第一个保存着大量产品的信息。第二个保存产品类别的信息,其中类别列中的每个条目都是一个列表

   CatId   Date           CatId      CatName
0     C2   01-15       0     C1   [crime, alt]
1     C1   01-15       1     C2   [crime, bests]
2     C1   01-15       2     C3   [fantasy, american]
3     C3   01-16       
.
.
n     C2   02-17

我对以下数据帧感兴趣:

      CatId             Date           
0  [crime, bests]       01-15      
1  [crime, alt]         01-15      
2  [crime, alt]         01-15      
3  [fantasy, american]  01-16       
.
.
n  [crime, bests]       02-17

为了提高效率(由于数据集的大小),我尽量避免循环

在Python中可能吗


Tags: 数据信息date产品altpandafantasyamerican
1条回答
网友
1楼 · 发布于 2024-05-23 15:57:54

我相信您需要由^{}创建的^{}系列:

print (df1)
  CatId   Date
0    C2  01-15
1    C1  01-15
2    C1  01-15
3    C3  01-16
n    C2  02-17

print (df2)

  CatId              CatName
0    C1         [crime, alt]
1    C2       [crime, bests]
2    C3  [fantasy, american]

df1['CatId'] = df1['CatId'].map(df2.set_index('CatId')['CatName'])
print (df1)
                 CatId   Date
0       [crime, bests]  01-15
1         [crime, alt]  01-15
2         [crime, alt]  01-15
3  [fantasy, american]  01-16
n       [crime, bests]  02-17

相关问题 更多 >