#python #pandas
Вопрос:
отправная точка:
a
0 1
1 2
2 2
3 3
4 3
5 3
6 11
7 1
8 1
df.loc[df['a'] == 1,:] = df.loc[df['a'] == 1,:].groupby('a').sum()
Ошибка значения: невозможно установить с помощью индексатора выбора с несколькими индексами, длина которого отличается от значения
моя цель:
a
0 2
1 2
2 3
3 3
4 3
5 11
6 3
Как я могу этого достичь? Спасибо!
Комментарии:
1. Не могли бы вы, пожалуйста, заменить изображения фактическими значениями кода, чтобы было легче помочь? Спасибо!
2. изменил его 🙂 _
Ответ №1:
В вашем случае в этом нет необходимости groupby
pd.concat([df.loc[df['a']!=1], df.loc[df['a'] == 1,:].sum().to_frame().T])
Out[356]:
a
1 2
2 2
3 3
4 3
5 3
6 11
0 3
Комментарии:
1. Мне нравится трюк с конкатом! Я думаю, что это все? кстати, простая группировка-это просто для того, чтобы показать, что моя проблема заключается в том, что мне нужно выполнить более сложную операцию.