[英]Pandas - disappearing values in value_counts()
謝謝@AMC,@ALollz
我有一個包含 58 列和 200,000 條記錄的手術活動數據的數據框。 其中一列是治療專業 每行對應一個患者就診。 我想看看醫學專業的相對貢獻。 一列是“TRETSPEF”=treatment_specialty。 我已經使用 `pd.read_csv('csv, usecols = ['TRETSPEF') 來導入該系列。
df
TRETSPEF
0 150
1 150
2 150
3 150
4 150
... ...
218462 150
218463 &
218464 150
218465 150
218466 218`
最常見的治療專業是神經外科(代碼 150)。 所以問題來了。 當我應用.value_counts
我得到兩組 150 代碼(和 218 代碼)
df['TRETSPEF'].value_counts()
150 140411
150 40839
218 13692
108 10552
218 4143
...
501 1
120 1
302 1
219 1
106 1
Name: TRETSPEF, Length: 69, dtype: int64
那里有一些“&”(454),所以我想知道它們不是整數的事實是否把事情搞砸了,所以我將它們更改為空值,並運行值計數。
df['TRETSPEF'].str.replace("&", "").value_counts()
150 140411
218 13692
108 10552
800 858
110 835
811 692
191 580
323 555
454
100 271
400 116
420 47
301 45
812 38
214 24
215 23
180 22
300 17
370 15
421 11
258 11
314 5
422 4
260 4
192 4
242 4
171 4
350 2
307 2
302 2
328 2
160 1
219 1
120 1
107 1
101 1
143 1
501 1
144 1
320 1
104 1
106 1
430 1
264 1
Name: TRETSPEF, dtype: int64
所以現在我似乎已經通過將 '&' 更改為 null 丟失了第二組 150 - 大約 40000 條記錄。 空值仍然出現在 .value_counts 中。系列的長度從 69 下降到 45。我嘗試去除空格 - 沒有區別。 不確定要運行哪些測試以了解為什么會發生這種情況。 我覺得這一定是由於數據造成的。
這是 100% 的數據清理問題。 嘗試強制列為數字。
pd.to_numeric(df['TRETSPEF'], errors='coerce').value_counts()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.