我想累积值计数,但简单的加法并不能解决问题。
假设我有很多很多系列,例如:
a = pd.Series([1,2,2,None], dtype=object)
b = pd.Series([3,2,2,None], dtype=object)
...
我想要生产
pd.concat([a,b,...]).value_counts(dropna=False)
2 4
None 2
1 1
3 1
Name: count, dtype: int64
增量,即从
vc_a = a.value_counts(dropna=False)
vc_b = b.value_counts(dropna=False)
...
唉,简单的
vc_a + vc_b
产生了
1 NaN
2 4.0
3 NaN
None 2.0
即,仅出现在系列之一中的对象未正确计数。
那么,如何合并一堆计数系列?
collections.Counter
coco = collections.Counter()
for vc in vc_iterator():
coco += vc.to_dict()
vc_sum = pd.Series(coco)
pandas.Series.add
vc_sum = pd.Series()
for vc in vc_iterator():
vc_sum = vc_sum.add(vc, fill_value=0)
pandas.concat
vc_sum = pd.concat(vc_list, axis="columns").sum(axis="columns")