如何在不影响其他字符的情况下,替换Pandas数据框列中特定的数字?我有一个类似于以下内容的大型CSV文件:
data = pd.read_csv("meter.csv")
data.head()
Out[10]:
value temp1 temp2
0 34 02:0 16.0 17
1 36 06:0 8.0 27
2 28 10:0 18.0 21
3 34 02:0 16.0 17
4 36 06:0 8.0 27
5 28 10:0 18.0 21
6 34 02:0 16.0 17
7 36 06:0 8.0 27
8 28 10:0 18.0 21
我想要替换value
列的值,如果value.str[3:5] == 10
,则用00
替换。
我需要的输出:
value temp1 temp2
0 34 02:0 16.0 17
1 36 06:0 8.0 27
2 28 00:0 18.0 21
3 34 02:0 16.0 17
4 36 06:0 8.0 27
5 28 00:0 18.0 21
6 34 02:0 16.0 17
7 36 06:0 8.0 27
8 28 00:0 18.0 21
我尝试使用
pd.str.replace
参考:pandas.Series.str.replace,但未能成功实现。
我的代码为:data['value'] = data['value'].str[3:5].replace('10','00')
,输出结果如下:
value temp1 temp2
0 02 16.0 17
1 06 8.0 27
2 00 18.0 21
3 02 16.0 17
4 06 8.0 27
5 00 18.0 21
它是用新值替换整个值。有谁能帮我解决这个问题。 谢谢!