【发布时间】:2015-01-02 16:04:50
【问题描述】:
我有两个要按 bin 方式添加的数据框。也就是说,给定
dfc1 = pd.DataFrame(list(zip(range(10),np.zeros(10))), columns=['bin', 'count'])
dfc2 = pd.DataFrame(list(zip(range(0,10,2), np.ones(5))), columns=['bin', 'count'])
这给了我这个
dfc1:
bin count
0 0 0
1 1 0
2 2 0
3 3 0
4 4 0
5 5 0
6 6 0
7 7 0
8 8 0
9 9 0
dfc2:
bin count
0 0 1
1 2 1
2 4 1
3 6 1
4 8 1
我想生成这个:
bin count
0 0 1
1 1 0
2 2 1
3 3 0
4 4 1
5 5 0
6 6 1
7 7 0
8 8 1
9 9 0
我在其中添加了 bin 列匹配的计数列。
事实上,我只加了 1(也就是说,dfc2 中的计数始终为 1)。所以这个问题的另一个版本是“给定一个 bin 值数组 (dfc2.bin),我如何在 dfc1 中为每个对应的计数值添加一个?”
到目前为止,我唯一的解决方案感觉非常低效(并且最终有点不可读),在两个 bin 列之间进行外部连接,从而创建了第三个数据框,我在该数据框上进行计算,然后投影出不需要的列。
建议?
【问题讨论】:
标签: python python-3.x pandas