[英]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.