作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 DataFrame 看起来像这样:
Date WaterTemp
1 21.4
2 20.8
3 20.4
4 20.0
5 19.9
6 20.5
7 20.8
8 21.4
9 21.7
10 22.1
11 21.9
12 21.3
13 21.5
14 21.6
15 21.4
16 21.7
17 22.4
18 22.4
19 22.5
20 22.6
21 23.1
22 23.8
23 23.8
24 23.1
25 22.9
26 23.4
27 23.6
28 23.4
29 24.1
30 24.6
31 24.1
32 23.9
33 23.6
34 23.3
35 23.2
36 23.4
37 23.1
38 22.3
39 22.4
40 22.4
我想像这样替换 WaterTemp 的值:
wt = df['WaterTemp']
for line in wt:
if line <= 11.5:
WaterTemp = WaterTemp.replace(line, "LWT")
elif line >= 22.5:
WaterTemp = WaterTemp.replace(line, "HWT")
else:
WaterTemp = WaterTemp.replace(line, "")
但 .csv 格式的结果如下所示:
1,
2,
3,
4,
5,
6,
LWT,
LWT,
LWT,
LWT,HWT
LWT,HWT
,
,
,
,
,
,HWT
,HWT
,HWT
,HWT
,HWT
HWT,HWT
HWT,HWT
HWT,HWT
HWT,HWT
HWT,HWT
HWT,HWT
HWT,HWT
29,HWT
30,HWT
31,HWT
32,HWT
33,HWT
34,HWT
35,HWT
36,HWT
37,HWT
38,HWT
39,HWT
40,HWT
因此它将日期值从 7 更改为 28。
我希望你能尽快帮助我。
最佳答案
这有点棘手,因为通常我建议使用多个带有 loc
的语句,但是一旦你将一些行设置为 str
你就引入了混合数据类型,你可以'比较 str
和 float
。无论如何,您可以使用嵌套的 np.where
语句实现此目的:
In [61]:
df['WaterTemp'] = np.where(df['WaterTemp'] <= 11.5, 'LWT', np.where(df['WaterTemp'] >= 22.5, 'HWT', ''))
df
Out[61]:
Date WaterTemp
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 11
11 12
12 13
13 14
14 15
15 16
16 17
17 18
18 19 HWT
19 20 HWT
20 21 HWT
21 22 HWT
22 23 HWT
23 24 HWT
24 25 HWT
25 26 HWT
26 27 HWT
27 28 HWT
28 29 HWT
29 30 HWT
30 31 HWT
31 32 HWT
32 33 HWT
33 34 HWT
34 35 HWT
35 36 HWT
36 37 HWT
37 38
38 39
39 40
关于python-3.x - Python Pandas replace 替换错了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38452381/
我无法在附加行中显示“真”、“假”、"is"和“否”按钮。 我在这里有一个应用程序:Application 请按照以下步骤使用应用程序: 1。当你打开应用程序时,你会看到一个绿色的加号按钮,点击 在此
我是一名优秀的程序员,十分优秀!