首页 > 解决方案 > Python数据框删除只有索引没有单元格值的行

问题描述

我有一个有趣的情况。我导入的数据框有索引值但没有单元格值。这会导致执行任何功能时出错。如何删除那些只有索引但没有单元格值的行。

我目前的数据框:

df = 
        Time      A        B        C
1    5/7/2020 7:27  17.75613834  37.63067245  0.292461243
2    5/7/2020 7:28  17.81356335  38.32342911   0.30196029
3    5/7/2020 7:29  17.85858633  39.14722824  0.309710972
4    5/7/2020 7:30  17.80791306  39.10982895  0.317052315
5                                                      
6                                                     
7                                                     

在上面,如何删除 5、6、7 行?我的原始数据框有很多行。但我不知道哪些行具有索引值但为空。我想要一些自动的东西。
我尝试了以下但没有奏效。

#### Dropt rows withs empty cells
df.replace('', np.nan, inplace=True)
df.dropna(how='all',inplace=True)

标签: pythonpandasdataframe

解决方案


这是否有效:

import numpy as np
import pandas as pd

df = pd.DataFrame(
    columns=['Time', 'A', 'B', 'C'],
    data=[['5/7/2020 7:27', '17.75613834', '37.63067245', '0.292461243'],
          ['5/7/2020 7:28', '17.81356335', '38.32342911', ' 0.30196029'],
          ['5/7/2020 7:29', '17.85858633', '39.14722824', '0.309710972'],
          ['5/7/2020 7:30', '17.80791306', '39.10982895', '0.317052315'],
          ['', '', '', '']]
)

df.replace('', np.nan, inplace=True)
df = df.dropna()

退货

            Time            A            B            C
0  5/7/2020 7:27  17.75613834  37.63067245  0.292461243
1  5/7/2020 7:28  17.81356335  38.32342911   0.30196029
2  5/7/2020 7:29  17.85858633  39.14722824  0.309710972
3  5/7/2020 7:30  17.80791306  39.10982895  0.317052315

推荐阅读