У меня есть образец DF:
df = pd.DataFrame(np.random.randint(1,10,size=(6,3)),columns = list("ABC"))
df["A"] = ["1111","2222","1111","1111","2222","1111"]
df["B"] = ["20010101","20010101","20010101","20010101","20010201","20010201"]
df
OP:
A B C
0 1111 20010101 1
1 2222 20010101 8
2 1111 20010101 1
3 1111 20010101 3
4 2222 20010201 7
5 1111 20010201 8
Я пытаюсь найти среднее значение для столбца B с группировкой столбца A:
Например:
рассмотреть значение «1111» в столбце A: всего транзакций: 4, уникальных транзакций: 2 (20010101,20010201).таким образом, среднее значение равно 4/2 = 2
Фрагмент:
df.groupby("A",as_index=False).agg({"B":'mean'})
Ошибка:
DataError: No numeric types to aggregate
Любой способ панды найти это среднее значение напрямую, а не групповойи итерации.