python - 从熊猫数据框中的列中减去一个常数
问题描述
我有一个数据框如下:
year,value
1970,2.0729729191557147
1971,1.0184197388632872
1972,2.574009084167593
1973,1.4986879160266255
1974,3.0246498975934464
1975,1.7876222478238608
1976,2.5631745148930913
1977,2.444014336917563
1978,2.619502688172043
1979,2.268273809523809
1980,2.6086169818316645
1981,0.8452720174091145
1982,1.3158922171018947
1983,-0.12695212493599603
1984,1.4374230626622169
1985,2.389290834613415
1986,2.3489311315924217
1987,2.6002265745007676
1988,1.2623717711036955
1989,1.1793426779313878
我想从第二列中的每个值中减去一个常数。这是我尝试过的代码:
df = pd.read_csv(f1, sep=",", header=0)
df2 = df["value"].subtract(1)
但是,当我这样做时, df2 变为:
70 1.072973
71 0.018420
72 1.574009
73 0.498688
74 2.024650
75 0.787622
76 1.563175
77 1.444014
78 1.619503
79 1.268274
80 1.608617
81 -0.154728
82 0.315892
83 -1.126952
84 0.437423
85 1.389291
86 1.348931
87 1.600227
88 0.262372
89 0.179343
年份只变成最后两位数。如何保留年份的所有数字?
解决方案
我认为列year
没有被修改,只需要分配回减去的值:
df["value"] = df["value"].subtract(1)
推荐阅读
- sql - 比较数字
- javascript - 为什么在数组中移动数组会影响复制的(不是通过引用)数组,但移动整个初始数组不会?(Javascript)
- python - 如何将颜色图添加到条形图(例如 Viridis),垂直改变颜色?
- python - Tensorflow Python:多类标签的方法
- linux - 搜索一些模式并替换行中间的一些文本并忽略该行的最后一个字符
- r - 闪亮的进度条不适用于 mclapply()
- open-source - 我在哪里可以找到维基百科/维基词典模板的源代码?
- database - 从 vimeo 存储时间戳
- c# - 如何创建一个保持可点击的不可见复选框?
- vba - 是否可以通过单击表单中的按钮来删除子表单中的所有行?