python数据帧计数发生

时间:2018-09-10 09:35:00

标签: python pandas dataframe pandas-groupby

我有一个数据框,如下所示。我想添加一列以存储该数据框中日期发生的次数。谢谢。

shortDist

2 个答案:

答案 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 + transformsize一起使用:

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