删除Python数据框中的数据后,无法删除行

时间:2020-07-24 12:10:08

标签: python pandas dataframe machine-learning gspread

 **Index   date            colum1       column2**
      0       20200705        a              1.1%
      1       20200706        b              78%
      2       20200707        f              10%
      3       20200707        g              59%
      4       20200708        a              69%

将以上数据框的名称视为“ df”。 我想删除特定日期的数据 我厌倦了下面的选择

dates =['20200707']
df= df[~df['date'].isin(dates)] (1st try)

 df.drop(df[df['date'].isin(dates)].index, inplace = True) (2nd try)

这些对应行中的数据被删除,但我最终得到了如下所示的数据框

Index   date            column1       column2
0       20200705        a              1.1%
1       20200706        b              78%
2                                      0.0%
3                                      0.0%
4       20200708        a              69%

我不知道为什么会发生这种情况,也没有找到任何可解决此类问题的消息来源。所以我删除了Column2并执行了相同的操作,最后得到了如下所示的数据框

   Index   date            column1     
    0       20200705           a              
    1       20200706           b              
    2                                      
    3                                      
    4       20200708           a         

 

注意:我正在使用.get_all_records()方法从Google表格导入数据,并将其转换为数据框

 df= sheet.worksheet('work_sheet').get_all_records()
    df= pd.DataFrame(df)

完成上述操作后,我尝试对数据进行排序,希望删除空行

 df.sort_values(by='date')

但最终以

 **Index   date            colum1       **
       2             
       3                                    
       0       20200705        a              
       1       20200706        b              
       4       20200708        a           

我什至尝试使用dropna df.dropna(inplace=True) 但是结果没有改变 我希望删除空行,请帮助我 我尝试了一切,尝试在下面解释,如有任何问题,请告诉我

最奇怪的部分是在df= df[~df['date'].isin(dates)]操作之后数据被删除的空白行存储为str类型,而' '空白存储为单元格,

我想知道从Google表格导入的数据中创建数据框会导致我遇到问题

1 个答案:

答案 0 :(得分:1)

您可以使用此:

df = df[df['date'] !='20200707']