【发布时间】:2018-12-20 02:45:06
【问题描述】:
如何在不影响其他字符的情况下替换熊猫数据框列中的特定数字?我有一个类似这样的大型 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.str[3:5] == 10 使用00,我想替换value 列值
我需要的输出:
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
它正在用新值替换整个值。谁能帮我解决这个问题。 谢谢!
【问题讨论】:
标签: python pandas dataframe conditional-statements str-replace