代码之家  ›  专栏  ›  技术社区  ›  Outcast

无法筛选熊猫数据框中的日期

  •  2
  • Outcast  · 技术社区  · 6 年前

    我有一个.csv文件,其中包含多个列,其中一个被称为 Date 2018年的日期值如下:

    enter image description here

    格式是 日期 在该列的.csv中。

    我将在源代码处执行以下操作:

    import pandas as pd
    
    # Load data
    data_daily = pd.read_csv('Desktop/data_daily.csv', keep_default_na=True)
    
    # Filter data_daily down to only October
    data_daily = data_daily[(data_daily['Date'] > '01/10/2018') & (data_daily['Date'] < '31/10/2018')]
    
    # Save as a new .csv file
    data_daily.to_csv('Desktop/final.csv', index=False)
    

    然而,最终的.csv文件有所有的日期,而不仅仅是我想要的日期。

    我不知道这会不会有什么不同,但请记住,有多行数据的日期相同。

    我怎么修这个?

    1 回复  |  直到 6 年前
        1
  •  1
  •   jezrael    6 年前

    第一个添加参数 parse_dates 在里面 read_csv 对于将列解析为日期时间:

    data_daily = pd.read_csv('Desktop/data_daily.csv',
                             keep_default_na=True, 
                             parse_dates=['Date'],
                             dayfirst=True)
    

    然后使用您的解决方案或替代方案 between 将字符串转换为 Timestamp :

    s = pd.Timestamp('2018-10-01')
    e = pd.Timestamp('2018-10-31')
    data_daily = data_daily[data_daily['Date'].between(s, e, inclusive=False)]