Python合并数据框和列表字典的字典

数据框如下所示:

d = {'ID': [1, 2,3],'V':['F','G','H'],'AAA':[0,1,1],'AA':[0,2,2],'A':[0,3,3],'BBB':[0,4,4]}
df2 = pd.DataFrame(data=d)

字典看起来像这样:

dct ={1:{'F':[2,3,5],'G':[3,5,6],'H':[6,7,8]},
      2:{'F':[1,3,5],'G':[8,5,6],'H':[9,7,8]},
      3:{'F':[5,3,5],'G':[4,5,6],'H':[10,7,8]}
     }

基于“ ID”和“ V”的值,我可以从字典中访问列表,即dct [2] ['G']。如何对此应用合并?

简而言之,我想将特定列表作为一行附加到数据框。

预期结果应如下所示:

op_d = {'ID': [1, 2,3],'V':['F','G','H'],'AAA':[0,1,1],'AA':[0,2,2],'A':[0,3,3],'BBB':[0,4,4],'Q1':[2,8,10],'Q2':[3,5,7],'Q3':[5,6,8]}
output_df = pd.DataFrame(data=op_d )
ky

使用df.lookup从字典创建一个数据帧后dct和隐蔽的数据帧,然后assign

m = pd.DataFrame(dct).T
s = df2.set_index('ID')['V']
output = df2.assign(**pd.DataFrame(m.lookup(s.index,s).tolist(),columns=['Q1','Q2','Q3']))

print(output)

   ID  V  AAA  AA  A  BBB  Q1  Q2  Q3
0   1  F    0   0  0    0   2   3   5
1   2  G    1   2  3    4   8   5   6
2   3  H    1   2  3    4  10   7   8

对于动态重命名,请使用:

df2.assign(**pd.DataFrame(m.lookup(s.index,s).tolist()).rename(columns=lambda x:f"Q{x+1}"))

   ID  V  AAA  AA  A  BBB  Q1  Q2  Q3
0   1  F    0   0  0    0   2   3   5
1   2  G    1   2  3    4   8   5   6
2   3  H    1   2  3    4  10   7   8

要么:

df2.assign(**pd.DataFrame(m.lookup(s.index,s).tolist()).add_prefix('Q'))

   ID  V  AAA  AA  A  BBB  Q0  Q1  Q2
0   1  F    0   0  0    0   2   3   5
1   2  G    1   2  3    4   8   5   6
2   3  H    1   2  3    4  10   7   8

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python-列表字典

来自分类Dev

列表字典到字典

来自分类Dev

熊猫数据框到列表字典

来自分类Dev

如何从数据框中的两列创建列表字典

来自分类Dev

在字典中合并数据框

来自分类Dev

合并任意数量的列表字典

来自分类Dev

声明列表字典

来自分类Dev

用Python方式查找和替换列表字典的方法

来自分类Dev

列表中字典字典的数据框

来自分类Dev

使用列表和字典创建数据框

来自分类Dev

如何编辑此数据框以合并两列字典列表?

来自分类Dev

从列表字典制作熊猫数据框

来自分类Dev

合并字典和列表

来自分类Dev

从字典列表创建python数据框

来自分类Dev

将列表字典转换为特定格式的数据框

来自分类Dev

从列表字典创建数据框

来自分类Dev

从列表字典创建和连接数据框

来自分类Dev

如何将数据框列映射到列表字典?

来自分类Dev

嵌套列表中字典的数据框-Python

来自分类Dev

将数据框与字典合并

来自分类Dev

实现列表字典

来自分类Dev

从Python中的字典列表创建列表字典

来自分类Dev

Python-从CSV读取列表字典

来自分类Dev

声明列表字典

来自分类Dev

用Python方式查找和替换列表字典的方法

来自分类Dev

列表字典中的数据框

来自分类Dev

Python将列表字典转换为集合字典?

来自分类Dev

将包含字典的列表字典转换为数据框

来自分类Dev

遍历 pandas 数据框中的行并匹配列表字典中的值以创建新列