簡體   English   中英

將 pandas 中的一列與多列相加

[英]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]})

我想重新分配列c1c2 ,使它們成為原始值加上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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM