【问题标题】:Subtract increasing values from a pandas dataframe column从熊猫数据框列中减去增加的值
【发布时间】:2020-07-06 12:44:28
【问题描述】:

我有一个看起来像这样的数据框

Name  a   
b     4   
c     4    
d     4 

我想从 a 列的每一行中减去一个数字,该数字由等差数列 (x=x+1) 给出并从 1 开始,因此结果如下。

Name  a   
b     3   
c     2    
d     1 

如何做到这一点?

【问题讨论】:

标签: python pandas dataframe


【解决方案1】:

Series.subnp.arange 一起使用:

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)

【讨论】:

    猜你喜欢
    • 2013-12-10
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 2020-12-30
    • 2013-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多