熊猫-value_counts()中消失的值

时间:2020-02-10 21:43:45

标签: python pandas

I started this question yesterday and have done more work on it.

感谢@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

所以现在我似乎已经失去了第二组150-通过将'&'更改为null来丢失大约40000条记录。空值仍显示在.value_counts中。系列的长度已从69个减少到45个。 我尝试剥离空格-没什么区别。不知道要运行什么测试以查看发生这种情况的原因。我认为一定是由于数据所致。

1 个答案:

答案 0 :(得分:1)

这是100%的数据清理问题。尝试force the column to be numeric.

pd.to_numeric(df['TRETSPEF'], errors='coerce').value_counts()