Pandas按日期索引分组并统计整数列表中的值
我有一组数据,这些数据是一个日期索引,日期范围从'2014-08-22'到'2014-08-28',还有一列是整数的列表。我想找一个简单的Pandas方法,把这些数字按日期分组。下面是我想要的结果。
日期:
values
date
2014-08-22 [179, 187, 188, 190, 194, 198, 2, 226, 26, 311, 322, 325, 341, 6]
2014-08-22 [179, 187, 188, 190, 194, 198, 2, 226, 26, 311, 322, 325, 341, 6]
2014-08-22 [167, 172, 178, 189, 198, 2, 20, 211, 212, 22, 274, 276, 287, 318, 321, 326, 48]
2014-08-23 [167, 172, 178, 189, 198, 2, 20, 211, 212, 22, 274, 276, 287, 318, 321, 326, 48]
2014-08-23 [167, 172, 178, 189, 198, 2, 20, 211, 212, 22, 274, 276, 287, 318, 321, 326, 48]
想要的透视表/分组/交叉表输出:
2014-08-22 2014-08-23
179 2 0
167 1 2
etc...
我知道怎么创建一个字典来统计出现的次数,如下所示,但不太确定怎么按索引来分组。
from collections import Counter
values_list = list(chain.from_iterable(df['values']))
Counter(values_list)
1 个回答
2
这里有一种方法。
# expand lists of data into into columns
t = df['values'].apply(lambda x: pd.Series(1, index=x))
t = t.fillna(0) #Filled by 0
# sum observations across days and transpose
t.groupby(level=0).sum().T