Это образец большего кадра данных.У меня есть датафрейм в группе из 4
gr = df.groupby(np.arange(len(df.index))//4)
Я пытаюсь получить количество букв для этой уникальной буквы в каждой группе из 4 в новый столбец с именем Count.
Я попробовал пару вещей, но все еще не могу получить это в конце формы.Любая помощь будет признательна.Я пробовал df.duplicate, value_count, но форма его не будет соответствовать желаемому.Есть идеи?Может быть, value_count, а затем сопоставить буквы в нужных местах?
Также я хочу избежать циклов.Я больше ищу трюк с пандами данных или, возможно, функцию лямбда-х, которая может работать.
import pandas as pd
import numpy as np
data= [['X',1000],
['X',60],
['X',60],
['Y',40],
['X',60],
['Z',30],
['X',60],
['Z',30],
['X',60],
['Z',30],
['Y',40],
['S',25]]
df = pd.DataFrame(data,columns=['Letter','Cost'])
#groupby4s
gr = df.groupby(np.arange(len(df.index))//4)
Форма, которую я ищу:
Letter Cost Count
0 X 60 3
1 X 60 3
2 X 60 3
3 Y 40 1
4 X 60 2
5 Z 30 2
6 X 60 2
7 Z 30 2
8 X 60 1
9 Z 30 1
10 Y 40 1
11 S 25 1