Pandas的新手,并且看起来很简单。我已经尝试了各种合并和连接命令,但还没有找到合适的命令。
有两个看起来像这样的dfs:
newstatus count()
0 field1 1
1 field2 7
2 field3 146
3 field4 94
[4 rows x 2 columns]
newstatus count()
0 field2 1
1 field3 32
2 field4 60
[3 rows x 2 columns]
组合它们并添加count()字段以获得最有效的操作是什么:
newstatus count()
0 field1 1
1 field2 8
2 field3 178
3 field4 154
[4 rows x 2 columns]
请注意,dfs不一定具有每个字段的值,即field1根本不会显示在第二个df中。
答案 0 :(得分:2)
不确定这是否是效率最高的,但我认为这是最直接的:
>>> d1.set_index('newstatus').add(d2.set_index('newstatus'), fill_value=0).reset_index()
newstatus count
0 field1 1
1 field2 8
2 field3 178
3 field4 154
[4 rows x 2 columns]
稍微有点尴尬因为你有newstatus
作为列而不是索引。如果您使用newstatus
作为索引来设置数据,请执行以下操作:
count
newstatus
field1 1
field2 7
field3 146
field4 94
然后你可以做
>>> d1.add(d2, fill_value=0)
count
newstatus
field1 1
field2 8
field3 178
field4 154