从字典中为每一行添加新列到数据框

拉胡尔·夏尔马

我想从字典中的数据框中添加列,其中键是随机生成的,并且对于数据框的每一行,都应该添加键的值

products = {'Blue Racks': 6, 'HPT': 6, 'Plastic Pallet': 40, 'Trolley': 48}

数据框如下:

                  tag epc                   code             Location  
0           0  E200001B2003006506902124  PPRFP.1T22AD0001      Goa   
1           1  E200001B2001007523803291  PPRFP.1T22AD0002      Goa   
2           2  E200001B2003005907402139  PPRFP.1T22AD0003      Goa   
3           3  E200001B200302290510CF16  PPRFP.1T22AD0004      Goa   
4           4  E200001B20010114231054DD  PPRFP.1T22AD0005      Goa   

我该怎么做 ?

预期结果:

         tag epc                   code           Location Blue Racks HPT Plastic Pallet
  E200001B2003006506902124  PPRFP.1T22AD0001      Goa        6  6 40
  E200001B2001007523803291  PPRFP.1T22AD0002      Goa        6  6  40
  E200001B2003005907402139  PPRFP.1T22AD0003      Goa        6  6 40
  E200001B200302290510CF16  PPRFP.1T22AD0004      Goa        6  6 40
  E200001B20010114231054DD  PPRFP.1T22AD0005      Goa        6  6  40
    
莫兹韦

您可以从字典中制作 DataFrame 并使用 cross merge

df2 = df.merge(pd.DataFrame(products, index=[0]), how='cross')
# or
# df.merge(pd.DataFrame([products]), how='cross')

输出:

   tag                       epc              code Location  Blue Racks  HPT  \
0    0  E200001B2003006506902124  PPRFP.1T22AD0001      Goa           6    6   
1    1  E200001B2001007523803291  PPRFP.1T22AD0002      Goa           6    6   
2    2  E200001B2003005907402139  PPRFP.1T22AD0003      Goa           6    6   
3    3  E200001B200302290510CF16  PPRFP.1T22AD0004      Goa           6    6   
4    4  E200001B20010114231054DD  PPRFP.1T22AD0005      Goa           6    6   

   Plastic Pallet  Trolley  
0              40       48  
1              40       48  
2              40       48  
3              40       48  
4              40       48  

如果存在于字典中,则重命名原始列:

df2 = (df.rename(columns=lambda x: x+'_original' if x in products else x)
         .merge(pd.DataFrame(products, index=[0]), how='cross')
       )

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为数据框列中的每一行创建一个新变量

为 pandas 数据框中的每一行添加特定的竞争

对每一行数据框的列求和,并在多级索引熊猫数据框中添加新列

向数据框添加新列,并向每一行添加唯一值

如何从字典中的每一行中提取文本,如数据框中的列?

为datagrid组合框中的每一行添加一个不同的ItemsSource

如何在Python中为数据框的每一行创建唯一的XML

为熊猫数据框的每一行替换一列中的字符串

在pyspark [non pandas]中为数据框的每一行调用一个函数

在python中为Panda数据框的每一行创建一个Radar Chart

Spark:遍历每一行中的列以创建新的数据框

大数据框中从属子集的每一行的多个新聚合

在新列中为每一行添加最小值的列索引

将列表添加到数据框中的每一行

R:在数据框中添加一行,每列的中位数

在数据框中以交替方式将模式添加到每一行

从数据框中减去特定列的每一行并添加到列表 -python

为熊猫数据框中的每一行选择切片/列范围

为数据框中的每一行运行函数

在每一行中列出数据框为空/空的列名称

收集数据框中每一行的值为True的列名

为数据框中的每一行找到n个最小值

为数据框中的每一行创建json字符串

Pyspark - 为每一行计算火花数据框中的非零列

为熊猫数据框中的每一行应用 linspace

如何在数据表中为r中的每一行添加循环?

为mySQL中的每一行创建弹出框

向R中的数据框添加一个新列,该列包含每一行中最频繁的值

从每一行创建字典字典并将每一行导出为python中的json文件