Вот мой фрейм данных df
1.1 1.2 1.3 2.1 ... 5.1 6.1 6.2. 6.3.
sample_a 1 1 2 4 2 3 4 2
sample_b 2 3 3 1 1 3 1 2
sample_c 2 4 3 1 1 3 2 2
Я хочу сгруппировать df
, извлекая первое число из имени столбца (т.е. взять 1 из 1.1, взять 2 из 2.1, взять 6 из6.1) и суммировать df
по медиане.
Это мой желаемый результат:
1 2 ... 5 6
sample_a 1 4 2 3
sample_b 3 1 1 2
sample_c 3 1 1 2
Так, например, для первого элемента (sample_a, 1) медиана 1.1, 1.2 и 1.3 равна 1.
Это код, который у меня сейчас есть.
df.columns = df.columns.str.extract('([\d])\.\d+',expand=False)
df.groupby(df.columns, axis=1).median(axis=1)
Я не уверен, должна ли ось быть 0 или 1, но в любом случае я получаю KeyError: 'axis'
Когда я пробую следующий код, он работает нормально.
df.columns = df.columns.str.extract('([\d])\.\d+',expand=False)
df.groupby(df.columns,axis=1).sum()
Почему медиана не работает?