【问题标题】:How to create a dictionary from two dataframes mapping col1 of 1st df to col1 of 2nd df, and do this for all columns如何从将第一个 df 的 col1 映射到第二个 df 的 col1 的两个数据帧创建一个字典,并对所有列执行此操作
【发布时间】:2021-12-01 06:12:24
【问题描述】:

df1

1_A   2_A  3_A
3.3   nan   nan
3.3   nan   nan
nan   4.3   nan
nan   nan   3.2
nan   nan   3.5

df2

1_B   2_B  3_B
83   nan   nan
87   nan   nan
nan   64   nan
nan   nan   66
nan   nan   68

所需的字典列表:

[{83 : 3.3 },{87 :3.3 },{64 :4.3 },{66 :3.2 },{68: 3.5}]
       

【问题讨论】:

标签: python python-3.x pandas dictionary


【解决方案1】:

在你的情况下stack

d = dict(zip(df2.stack(),df1.stack()))
d
Out[58]: {83.0: 3.3, 87.0: 3.3, 64.0: 4.3, 66.0: 3.2, 68.0: 3.5}

【讨论】:

  • 堆栈不保留 nan 的,我可以保留 nan 以使尺寸相同
  • @asimo do with stack(skipena= False) 那么你需要删除两者中的所有 nan
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-25
  • 1970-01-01
  • 2019-11-27
  • 1970-01-01
  • 1970-01-01
  • 2020-06-22
  • 1970-01-01
相关资源
最近更新 更多