我有以下两个数据帧:
表1:
Key1 Key2 Value1 Other Data
1 2 5 foo
3 1 6 bar
以及
表2:
Key1 Key2 Property1 Property2
1 2 5 7
3 1 6 8
1 3 7 7
2 1 4 4
2 1 6 6
2 1 8 5
在表1中,键的顺序无关紧要。表1没有重复项。 在表2中,键的顺序很重要。表2有重复项。 我对熊猫还很陌生,但据我所知,groupby的概念应该是一个完美的工具。 我希望我把我的问题解释得足够好
编辑: 关于评论,我想把问题分开
第一步: 合并表1和表2。我认为这必须是分层的
Key 1 Key 2 Value 1 Other Data Key1 Key2 Property1 Propterty2
1 2 5 foo 1 2 5 7
2 1 4 4
2 1 6 6
2 1 8 5
3 1 6 bar 3 1 6 8
1 3 7 7
步骤2:根据值1筛选值。如果属性1=值1+-1则保留条目,如果不保留则删除它。在此示例中,这将导致:
Key 1 Key 2 Value 1 Other Data Key1 Key2 Property1 Propterty2
1 2 5 foo 1 2 5 7
2 1 4 4
2 1 6 6
3 1 6 bar 3 1 6 8
1 3 7 7
第三步:重塑和构建意味着: 建立所有剩余对的平均值(这里是(2,1)的两个入口的平均值)。然后重塑数据帧
Key 1 Key 2 Value 1 Other Data Property1(i,j) Propterty2(i,j) Property1(j,i) Propterty2(j,i)
1 2 5 foo 5 7 5 5
3 1 6 bar 6 8 7 7
第四步:处理丢失的数据。如果我在表2中只有(1,3)的数据,而没有(3,1)的数据,那么他应该在步骤3中用NaN填充这个值。在最后一步中,我想删除所有带有NaN的行
尝试合并两次:
输出:
相关问题 更多 >
编程相关推荐