繁体   English   中英

如何在 dataframe 中将 -0.0 值替换为 0.0 值?

[英]How do I replace -0.0 values with 0.0 values in a dataframe?

大约一周前,我在这里问了这个问题,我使用rolling().sum().round()方法创建新列并添加到数据框中。 但是,我在数据框中有一些值为-0.0但我想用0.0替换它。

这是一个例子:

print(assomption_rain_df.head(25))

          date      time  rain_gauge_value        
0   2020-08-05  00:00:00               5.3                  
1   2020-08-05  01:00:00               2.7                  
2   2020-08-05  02:00:00               2.2                  
3   2020-08-05  03:00:00               3.0                  
4   2020-08-05  04:00:00               1.5     
5   2020-08-05  05:00:00               0.0     
6   2020-08-05  06:00:00               0.0     
7   2020-08-05  07:00:00               0.0     
8   2020-08-05  08:00:00               0.1     
9   2020-08-05  09:00:00               0.1     
10  2020-08-05  10:00:00               0.1     
11  2020-08-05  11:00:00               0.4     
12  2020-08-05  12:00:00               0.5     
13  2020-08-05  13:00:00               0.2     
14  2020-08-05  14:00:00               0.3     
15  2020-08-05  15:00:00               0.4     
16  2020-08-05  16:00:00               0.2     
17  2020-08-05  17:00:00               0.0     
18  2020-08-05  18:00:00               0.0    
19  2020-08-05  19:00:00               0.0     
20  2020-08-05  20:00:00               0.0     
21  2020-08-05  21:00:00               0.0     
22  2020-08-05  22:00:00               0.0     
23  2020-08-05  23:00:00               0.0    
24  2020-08-06  00:00:00               0.0  

assomption_rain_df['rain_gauge_value_6hr']=assomption_rain_df['rain_gauge_value'].rolling(6).sum().round(1)

print(assomption_rain_df.head(25))

          date      time  rain_gauge_value rain_gauge_value_6hr       
0   2020-08-05  00:00:00               5.3                  NaN
1   2020-08-05  01:00:00               2.7                  NaN
2   2020-08-05  02:00:00               2.2                  NaN
3   2020-08-05  03:00:00               3.0                  NaN
4   2020-08-05  04:00:00               1.5                  NaN
5   2020-08-05  05:00:00               0.0                 14.7
6   2020-08-05  06:00:00               0.0                  9.4
7   2020-08-05  07:00:00               0.0                  6.7
8   2020-08-05  08:00:00               0.1                  4.6
9   2020-08-05  09:00:00               0.1                  1.7
10  2020-08-05  10:00:00               0.1                  0.3
11  2020-08-05  11:00:00               0.4                  0.7
12  2020-08-05  12:00:00               0.5                  1.2
13  2020-08-05  13:00:00               0.2                  1.4
14  2020-08-05  14:00:00               0.3                  1.6   
15  2020-08-05  15:00:00               0.4                  1.9
16  2020-08-05  16:00:00               0.2                  2.0
17  2020-08-05  17:00:00               0.0                  1.6
18  2020-08-05  18:00:00               0.0                  1.1
19  2020-08-05  19:00:00               0.0                  0.9
20  2020-08-05  20:00:00               0.0                  0.6
21  2020-08-05  21:00:00               0.0                  0.2
22  2020-08-05  22:00:00               0.0                 -0.0
23  2020-08-05  23:00:00               0.0                 -0.0
24  2020-08-06  00:00:00               0.0                 -0.0

如何在数据框中将-0.0值替换为0.0值?

更新:感谢您的帮助! .round(1) .abs() ) 解决了这个问题。

只需将 -0.0 的值替换为 0:

assomption_rain_df['rain_gauge_value_6hr'][assomption_rain_df['rain_gauge_value_6hr'] == -0.0] = 0

尝试DataFrame.replace()

assomption_rain_df['rain_gauge_value_6hr'] = assomption_rain_df['rain_gauge_value_6hr'].replace(-0, 0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM