У меня есть Python панда DataFrame:Python Панда сумма dataframe с одной колонкой
df = pd.DataFrame(np.random.rand(5,3),columns=list('ABC'))
print df
A B C
0 0.041761178 0.60439116 0.349372206
1 0.820455992 0.245314299 0.635568504
2 0.517482167 0.7257227 0.982969949
3 0.208934899 0.594973111 0.671030326
4 0.651299752 0.617672419 0.948121305
Вопрос: Я хотел бы добавить первый столбец в целом dataframe. Я хотел бы получить это:
A B C
0 0.083522356 0.646152338 0.391133384
1 1.640911984 1.065770291 1.456024496
2 1.034964334 1.243204867 1.500452116
3 0.417869798 0.80390801 0.879965225
4 1.302599505 1.268972171 1.599421057
В первом ряду:
- A: 0,04176 + 0.04176 = 0,08352
- B: 0,04176 + 0.60439 = 0,64615
- т.д.
Требования: Я не могу ссылаться на первый столбец usi ng имя его столбца. например: df.A
неприемлем; df.iloc[:,0]
приемлемо.
Попытка: Я попытался это с помощью:
print df.add(df.iloc[:,0], fill_value=0)
, но он не работает. Он возвращает сообщение об ошибке:
Traceback (most recent call last):
File "C:test.py", line 20, in <module>
print df.add(df.iloc[:,0], fill_value=0)
File "C:\python27\lib\site-packages\pandas\core\ops.py", line 771, in f
return self._combine_series(other, na_op, fill_value, axis, level)
File "C:\python27\lib\site-packages\pandas\core\frame.py", line 2939, in _combine_series
return self._combine_match_columns(other, func, level=level, fill_value=fill_value)
File "C:\python27\lib\site-packages\pandas\core\frame.py", line 2975, in _combine_match_columns
fill_value)
NotImplementedError: fill_value 0 not supported
Можно ли взять сумму всех столбцов DataFrame с первым столбцом?
Ваш ответ имеет правильный подход, но я не могу назвать столбцы по имени. –
Я обновил ответ. Не забудьте утвердить ответ, если это то, что вам нужно. – Plug4
Спасибо. Это сообщение разрешено. На все мои вопросы был дан ответ. –