вариант 1) не работает -> возвращает пустое значение df
- первый столбец: числовой, второй столбец: категориальный
- 100% категориального столбца - NaN
In[1]:
df = a c
0 2.0 NaN
1 4.0 NaN
2 NaN NaN
3 3.0 NaN
df["c"].astype("category", inplace=True)
df.agg({"a": "mean", "c": "mode"})
Out[1]:
Empty DataFrame
Columns: [a, c]
Index: []
Вариант 2) рабочий
- Первый столбец: числовой, Второй столбец: категориальный
- Не 100% значений столбца - это NaN
In[2]:
df = a c
0 2.0 "hello"
1 4.0 "bye"
2 NaN "bye"
3 3.0 NaN
df["c"].astype("category", inplace=True)
df.agg({"a": "mean", "c": "mode"})
Out[2]:
a c
0 3.0 bye
Вариант 3) работает
- первый столбец: числовой, второй столбец: числовой
- 100% второго числового столбца - NaN
In[3]:
df = a c
0 2.0 NaN
1 4.0 NaN
2 NaN NaN
3 3.0 NaN
df.agg({"a": "mean", "c": "mean"})
Out[3]:
a 4.0
c NaN
dtype: float64
при использовании pandas версия 0.25.1