python - 从熊猫数据框列中减去增加的值
问题描述
我有一个看起来像这样的数据框
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
:
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)
推荐阅读
- python - 如何使用双向RNN和pytorch填空?
- .net - ResourceLoader 工作不可靠,在语言之间随机切换
- python - 使用python实现参数L系统
- android - 垂直浏览器在 Android 9 上无法正常工作
- angular - 如何在按钮单击时显示新的 Mat-Progress 按钮
- sql - SQL将军事时间转换为时间
- c# - OracleDataReader 不返回任何行
- php - 对 mysqli_fetch_array 使用 php for 循环
- hive - Hive 删除已经存在的分区
- android - 无法解析符号 default_web_client_id GoogleSignInOptions Android Firebase