我有一个数据框,如下所示。我想添加一列以存储该数据框中日期发生的次数。谢谢。
shortDist
答案 0 :(得分:2)
尝试:
df2['Occur']=df2.groupby('date')['date'].transform(pd.Series.value_counts)
print(df2)
OR:
df2['Occur']=df2['date'].apply(df2['date'].tolist().count)
print(df2)
两者均重现:
date price Occur
0 20130101 25.0 2
1 20130101 16.3 2
2 20130105 23.5 2
3 20130105 27.0 2
4 20130107 40.0 1
5 20130108 8.0 1
答案 1 :(得分:2)
将GroupBy
+ transform
与size
一起使用:
df2['date_count'] = df2.groupby('date')['date'].transform('size')
print(df2)
C D date price date_count
0 25 2.3 20130101 25 2
1 163 4.2 20130101 163 2
2 235 6.8 20130105 235 2
3 -25 8.8 20130105 -25 2
4 40 11.3 20130107 40 1
5 -8 15.8 20130108 -8 1