這似乎是一項固有的簡單任務,但我發現從我的整個數據框中刪除''並返回每列中的數值非常困難,包括沒有的數字''。該dateframe包括數百列,看起來像這樣在短:刪除熊貓數據框中的特殊字符
Time A1 A2
2.0002546296 1499 1592
2.0006712963 1252 1459
2.0902546296 1731 2223
2.0906828704 1691 1904
2.1742245370 2364 3121
2.1764699074 2096 1942
2.7654050926 *7639* *8196*
2.7658564815 *7088* *7542*
2.9048958333 *8736* *8459*
2.9053125000 *7778* *7704*
2.9807175926 *6612* *6593*
3.0585763889 *8520* *9122*
我沒有寫它在DF每列循環還沒有結束,但據第一列進我想出了這個
df['A1'].str.replace('*','').astype(float)
這將產生
0 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
6 NaN
7 NaN
8 NaN
9 NaN
10 NaN
11 NaN
12 NaN
13 NaN
14 NaN
15 NaN
16 NaN
17 NaN
18 NaN
19 7639.0
20 7088.0
21 8736.0
22 7778.0
23 6612.0
24 8520.0
有一個非常簡單的方法,在大熊貓數據幀只刪除了「*」?
在替換之後添加'df = df.astype(float)',你已經得到了它。我會跳過'inplace',只是做'df = df.replace('\ *','',regex = True).astype(float)'並且稱它爲好。 – piRSquared
@piRSquared使用'inplace'是不好的做法。 – shivsn
不,只是偏好。在這種情況下,當你在就地使用它時,它不會自動返回以允許鏈接。沒有它,我能夠鏈接astype(float) – piRSquared