Количество случаев подсчета фреймов данных python

У меня есть один фрейм данных, как показано ниже. Я хочу добавить один столбец, чтобы хранить, сколько раз дата встречается в этом фрейме данных. Спасибо.

import pandas as pd
import numpy as np
df2 = pd.DataFrame({
    'date': [20130101,20130101, 20130105, 20130105, 20130107, 20130108],
    'price': [25, 16.3, 23.5, 27, 40, 8],
})

ты имеешь в виду каждое свидание?

Jones1220 10.09.2018 11:37

да, например, 20130101 встречается 2 раза, поэтому в столбце E номер 2.

Hong 10.09.2018 11:38
0
2
76
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Пытаться:

df2['Occur']=df2.groupby('date')['date'].transform(pd.Series.value_counts)
print(df2)

ИЛИ:

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

Использование 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

Другие вопросы по теме