簡體   English   中英

從 Pandas 數據框列中減去遞增的值

[英]Subtract increasing values from a pandas dataframe column

我有一個看起來像這樣的數據框

Name  a   
b     4   
c     4    
d     4 

我想從 a 列的每一行中減去一個數字,該數字由等差數列 (x=x+1) 給出並從 1 開始,因此結果如下。

Name  a   
b     3   
c     2    
d     1 

如何做到這一點?

Series.subnp.arange Series.sub使用:

df['a'] = df['a'].sub(np.arange(1, len(df) + 1))
#df['a'] = df['a'] - np.arange(1, len(df) + 1)

或者如果默認索引:

df['a'] = df['a'].sub(df.index + 1)

輸出

  Name  a
0    b  3
1    c  2
2    d  1

我們還可以這樣做:

df['a'] -= df.index + 1
df['a'] -= np.arange(1, len(df)+1)

暫無
暫無

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

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