簡體   English   中英

Python Pandas 減去每一列並創建新列

[英]Python Pandas subtracting each column and creating new column

我有一個 pandas dataframe 與以下列:

一月二月三月四月

我想用一月減去二月。 三月與二月。 4 月和 3 月等。然后為每個計算創建一個新列以使用計算。

我嘗試創建一個 for 循環,但它沒有工作,因為我不確定如何將每個計算存儲到一個新列中以及如何將 state 2 月 - 上一列等。

任何幫助都感激不盡。

Dataframe 示例:

Sales January February March April 
Team1 1000    2000     3000  4000
Team2 1000    2000     3000  4000

Dataframe 結果:

Sales January diff February diff March  diff   April 
Team1 1000    1000 2000     1000 3000    1000  4000
Team2 1000    1000 2000     1000 3000    1000  4000

嘗試這個:

df = pd.concat([
    df,
    df.loc[:, 'January':] \
        .diff(axis=1) \
        .drop(columns='January') \
        .add_suffix('_diff')    
], axis=1)

嘗試這個:

df = pd.concat([
    df,
    df.loc[:, 'January':] \
        .diff(axis=1) \
        .drop(columns='January') \
        .add_suffix('_diff')
], axis=1)

它能做什么:

  • df.loc[:, 'January':]January到右邊的所有列
  • .diff(axis=1)計算與上一列的差異
  • .drop(columns='January')刪除 Jan 的差異列,因為它都是 n/a
  • .add_suffix('_diff')February重命名為February_diff _diff 等等

外部連接是將差異列添加回原來的concat

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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