返回两个日期之间的数据

斯泰西

我有一些代码可以解析多个.CVS文件,检索几列的所有数据,然后将数据放在数据帧(称为dfs)中。我现在试图返回仅在两个日期之间的dfs中的所有数据字段。

我正在尝试使用以下命令:

return dfs[(dfs['date'] >= startDate) & (dfs['date'] <= endDate)] 

但出现以下错误:

KeyError: 'date'

有人可以让我知道我做错了吗?请参阅下面的代码:

def getTimeseriesData(path,column_num,startDate,endDate):
    colNames = ['date']
    dfs = []

    allfiles = glob.glob(os.path.join(path, "*.csv"))
    for fname in allfiles:

        name = os.path.splitext(fname)[0]
        name = os.path.split(name)[1]
        colNames.append(name)

        df = pd.read_csv(fname, header=None, usecols=[0, column_num,4,5], 
                        parse_dates=[0], dayfirst=True,
                        index_col=[0], names=['date', name+'_LAST',name+'_VOLUME',name+'_MKTCAP'])

        df = df.groupby(level=0).agg('mean')

        dfs.append(df)        

    dfs = pd.concat(dfs, axis=1)

    return dfs[(dfs['date'] >= startDate) & (dfs['date'] <= endDate)] #<<--I think this is the problem

dfs的头(我想从中返回两个日期(例如2001-01-03和2001-01-05之间)的数据)如下所示:

            BBG.XLON.BTA.S_LAST  BBG.XLON.BTA.S_VOLUME  BBG.XLON.BTA.S_MKTCAP  \
date                                                                            
2001-01-02                  572               26605510               37494.60   
2001-01-03                  560               24715470               36708.00   
2001-01-04                  613               52781855               40182.15   
2001-01-05                  630               56600152               41296.50   
2001-01-08                  633               41014402               41493.15   

            BBG.XLON.VOD.S_LAST  BBG.XLON.VOD.S_VOLUME  BBG.XLON.VOD.S_MKTCAP  
date                                                                           
2001-01-02                  NaN                    NaN                    NaN  
2001-01-03               225.00              444328736            145216.0020  
2001-01-04               239.00              488568000            154251.6643  
2001-01-05               242.25              237936704            156349.2288  
2001-01-08               227.75              658059776            146990.8642 
迈克·米勒

date是您的索引名称,而不是列名称:

改变:

return dfs[(dfs['date'] >= startDate) & (dfs['date'] <= endDate)] 

进入:

return dfs[(dfs.index >= startDate) & (dfs.index <= endDate)] 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

返回两个日期之间的数据

来自分类Dev

从MDX查询SSAS返回两个日期之间的数据

来自分类Dev

如何使用存储过程从多个数据输入返回两个日期之间的数据

来自分类Dev

PHP:两个日期之间的返回日期错误

来自分类Dev

在两个日期之间返回太多数据行的地方

来自分类Dev

获取日期格式未知的两个日期之间的数据

来自分类Dev

MySQL返回两个日期之间的所有记录

来自分类Dev

两个日期之间的时间间隔返回nil

来自分类Dev

MySQL查询返回两个日期范围之间的行

来自分类Dev

Excel中两个日期之间的增量返回负数

来自分类Dev

来自两个日期列数据库的两个日期之间的 Laravel 查询

来自分类Dev

如何在两个日期之间查找数据

来自分类Dev

每天列中两个日期之间的数据

来自分类Dev

Rethinkdb查询两个日期之间的数据

来自分类Dev

优化两个日期之间的BigQuery汇总数据

来自分类Dev

查询以选择两个日期之间的数据

来自分类Dev

在Laravel中检索两个日期之间的数据

来自分类Dev

在mysql中的两个日期之间获取数据

来自分类Dev

在MVC中获取两个日期之间的数据

来自分类Dev

选择两个日期之间的Pandas数据框行

来自分类Dev

Power BI在两个日期之间显示数据

来自分类Dev

选择两个日期之间的数据集行

来自分类Dev

两个日期之间的Python每周数据框

来自分类Dev

从SQL Server获取两个日期之间的数据

来自分类Dev

获取两个日期列之间的数据

来自分类Dev

如何在两个日期之间查找数据

来自分类Dev

Couchdb Map函数获取两个日期之间的数据

来自分类Dev

PHP代码在两个日期之间过滤数据

来自分类Dev

在mysql中的两个日期之间检索数据

Related 相关文章

热门标签

归档