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