我有一個資料集,其中的資料如下所示:
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")
所以現在我有兩個問題。第一個,我如何只替換十進制數而不是整個欄位,第二個問題是,我怎樣才能將它們重新組合在一起?
也許我的方法是完全錯誤的。我將不勝感激其他一些解決方案。
uj5u.com熱心網友回復:
?如果使用前有空間
file2["room"] = file2["room"].str.replace("?", "\s.5", regex=True)
否則使用
file2["room"] = file2["room"].str.replace("?", ".5", regex=True)
uj5u.com熱心網友回復:
嘗試將其應用于問題陳述的第一個資料框:
file2["room"] = file2["room"].str.replace(" ?", ".5")
對你起作用嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/474678.html
