Pandas相反的条函数
Pandas opposite strip function
我有一个数据集,其数据如下所示:
0 2
1 3
2 2 ½
3 3 ½
4 2 ½
...
1532 1 ½
1533 1
1534 NaN
1535 NaN
1536 NaN
我正在尝试将所有“1/2”分数转换为十进制数。 2 1/2 -> 2.5。
我已经尝试了很多不同的方法。最后一个是剥离数据框并将分数替换为十进制数。
0 [2]
1 [3]
2 [2, ½]
3 [3, ½]
4 [2, ½]
...
1532 [1, ½]
1533 [1]
1534 NaN
1535 NaN
1536 NaN
但是,我不能只更改分数。它总是改变整个领域。看起来像这样:
0 NaN
1 NaN
2 .5
3 .5
4 .5
...
1532 .5
1533 NaN
1534 NaN
1535 NaN
1536 NaN
我使用了这个代码:
file2["room"] = file2["room"].str[1].replace("½", ".5")
所以现在我有两个问题。第一个,如何只替换小数而不是整个字段,第二个问题是,我怎样才能将它们重新放在一起?
也许我的做法是完全错误的。我将不胜感激其他一些解决方案。
尝试将此应用于问题陈述的第一个数据帧:
file2["room"] = file2["room"].str.replace(" ½", ".5")
对你有用吗?
如果在½
之前有一个space使用
file2["room"] = file2["room"].str.replace("½", "\s.5", regex=True)
否则使用
file2["room"] = file2["room"].str.replace("½", ".5", regex=True)
我有一个数据集,其数据如下所示:
0 2
1 3
2 2 ½
3 3 ½
4 2 ½
...
1532 1 ½
1533 1
1534 NaN
1535 NaN
1536 NaN
我正在尝试将所有“1/2”分数转换为十进制数。 2 1/2 -> 2.5。 我已经尝试了很多不同的方法。最后一个是剥离数据框并将分数替换为十进制数。
0 [2]
1 [3]
2 [2, ½]
3 [3, ½]
4 [2, ½]
...
1532 [1, ½]
1533 [1]
1534 NaN
1535 NaN
1536 NaN
但是,我不能只更改分数。它总是改变整个领域。看起来像这样:
0 NaN
1 NaN
2 .5
3 .5
4 .5
...
1532 .5
1533 NaN
1534 NaN
1535 NaN
1536 NaN
我使用了这个代码:
file2["room"] = file2["room"].str[1].replace("½", ".5")
所以现在我有两个问题。第一个,如何只替换小数而不是整个字段,第二个问题是,我怎样才能将它们重新放在一起?
也许我的做法是完全错误的。我将不胜感激其他一些解决方案。
尝试将此应用于问题陈述的第一个数据帧:
file2["room"] = file2["room"].str.replace(" ½", ".5")
对你有用吗?
如果在½
之前有一个space使用
file2["room"] = file2["room"].str.replace("½", "\s.5", regex=True)
否则使用
file2["room"] = file2["room"].str.replace("½", ".5", regex=True)