[英]Sum one column to multiple columns in pandas
我今天遇到了一個非常奇怪的錯誤。 我正在嘗試將一列的值添加到多列,但 pandas 拋出 memory 錯誤。 我環顧四周,但我一定是對這個問題的措辭很糟糕,因為我發現了一堆pd.concat
問題。
想象以下數據框:
import pandas as pd
df = pd.DataFrame({c1:[100,200,300],c2:[10,20,30],c3:[1,2,3]})
我想重新分配列c1
和c2
,使它們成為原始值加上c3
。 我認為這會起作用:
df[['c1','c2']] = df[['c1','c2']] + df['c3']
---------------------------------------------------------------------------
MemoryError
我通過以下方式解決了它,但必須有更好的解決方案。
df[['c1','c2']].apply(lambda x: x + df['c3'])
我錯過了什么? 有沒有辦法使用axis
參數來使第一種方法起作用? 有沒有辦法使用.sum()
來實現這一點?
@ALollz 將解決方案作為評論發布,所以在這里作為答案。 希望它對將來的某人有所幫助:
df[['c1','c2']] = df[['c1','c2']].add(df['c3'], axis=0)
我沒有指定軸參數,因此.add()
的重要性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.