Количество случаев подсчета фреймов данных 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
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
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

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