Получение среднего значения
Как в Pandas можно получить (преобразовать) среднее значение каждой ячейки колонки, если в ячейках указан интервал? Например:
- '15,000-19,999' - 17500,
- '125,000-149,999' - 137500,
- '> $1,000,000' - оставляем 1000000
То есть в итоге, получить колонку со средними значениями в ячейках. Исходная колонка:
data['Q29']
1 NaN
2 NaN
3 NaN
4 25,000-29,999
5 NaN
...
23993 NaN
23994 NaN
23995 25,000-29,999
23996 15,000-19,999
23997 NaN
Name: Q29, Length: 23997, dtype: object
Ответы (1 шт):
Автор решения: strawdog
→ Ссылка
при исходном фрейме:
1
0
0 25,000-29,999
1 25,000-29,999
2 15,000-19,999
Можно, например, так:
df["mean"] = df[1].str.replace(",",".").str.split("-").apply(lambda x: sum(pd.to_numeric(x))/len(x))
получите
1 mean
0
0 25,000-29,999 27.4995
1 25,000-29,999 27.4995
2 15,000-19,999 17.4995