python - 删除 Pandas 中单元格为空的行?

标签 python pandas

感谢您的帮助。

我有一个大型 csv 伪患者数据集,通常看起来像这样。

 Average Covered Charges ,  Total Discharges  , Average Medicare Payments
        32963.07         ,          91        ,           4763.73 
        15131.85         ,          14        ,           4976.71 
        37560.37         ,                    ,          

我面临的问题是我试图让放电总数大于 100,...但是因为其中一列的末尾比所有其他单元格多一个值,所以最后一个单元格其他列只有空白空间,该空间被计为数据集长度中的一个项目。我已将此 csv 文件加载到 pandas 数据框中,并删除了 NA,我的数据集仍然如下所示。

所以 NA、None 等...不是问题。这是一个空单元格,使最后两列具有数据类型“object”,并且由于它有一个空白单元格/空白空间,因此不可能将“object”数据类型更改为“int”

如果我可以通过删除数据集中任何列中存在任何空单元格的所有行来将我的数据框更改为如下所示,那么我的所有问题都会消失。所以我希望我的数据集看起来像这样:

 Average Covered Charges  , Total Discharges  , Average Medicare Payments
        32963.07          ,          91       ,           4763.73 
        15131.85          ,          14       ,           4976.71 

我很惊讶我做这件事如此困难。但从我读到的有关 Pandas 的内容来看,文档假设这些都是 NA,所以我可以放弃它们,但我根本无法让 Pandas 相信这一点。

    import pandas as pd
    inpatients_df = pd.read_csv("inpatient_payment_system.csv", low_memory = False)

    inpatients_df.dropna(axis = 0, how = 'any') # Remove NA values.

我已经加载了数据集并删除了所有 NA,这并不重要。

注意:此数据集中的列数远多于 3 列。只需要一列比其他列有更多的条目就会发生这种情况,问题实际上出在 csv 文件的最后一行。

最佳答案

试试这个:

inpatients_df.dropna(subset=['Total Discharges'], how='all', inplace = True)

关于python - 删除 Pandas 中单元格为空的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47735862/

相关文章:

python - 将字典中的值赋给对象

python - 按名称列表对 Pandas 中的多个列进行切片

python - 计算系列开始/结束处的零数

python - pandasrolling如何保留每个时间窗口的第一个时间索引

python - 如何在非常大的 pandas 数据帧上应用函数,函数取决于连续行?

python - 创建配置文件并使用字典计数

python - t-SNE 映射到 2D 或 3D 图

python , Pandas : Compare two dataframes and return combined

python - 带有 Pandas 数据点的线图

python-matplotlib AttributeError Axes3D 对象没有属性 set_zticks