簡體   English   中英

Pandas - value_counts() 中的消失值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM