Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将导入python的数据从csv文件转换为时间序列?_Python_Pandas_Csv_Time Series_Date Range - Fatal编程技术网

如何将导入python的数据从csv文件转换为时间序列?

如何将导入python的数据从csv文件转换为时间序列?,python,pandas,csv,time-series,date-range,Python,Pandas,Csv,Time Series,Date Range,我想将通过.csv文件导入python的数据转换为时间序列 GDP = pd.read_csv('GDP.csv') [87]: GDP Out[87]: GDP growth (%) 0 0.5 1 -5.2 2 -7.9 3 -9.1 4 -10.3 5 -8.8 6 -7.4 7 -10.

我想将通过.csv文件导入python的数据转换为时间序列

GDP = pd.read_csv('GDP.csv')

[87]: GDP
   Out[87]: 
  GDP growth (%)
0              0.5
1             -5.2
2             -7.9
3             -9.1
4            -10.3
5             -8.8
6             -7.4
7            -10.1
8             -8.4
9             -8.7
10            -7.9
11            -4.1
由于通过.csv文件导入的数据是数据帧格式,因此我首先尝试将其转换为pd.Series:

GDP2 = pd.Series(data = GDP, index = pd.date_range(start = '01-2010', end = '01-2018', freq = 'Q'))
但我得到的是这样的:

GDP2
Out[90]: 
2010-03-31    (G, D, P,  , g, r, o, w, t, h,  , (, %, ))
2010-06-30    (G, D, P,  , g, r, o, w, t, h,  , (, %, ))
2010-09-30    (G, D, P,  , g, r, o, w, t, h,  , (, %, ))
2010-12-31    (G, D, P,  , g, r, o, w, t, h,  , (, %, ))
2011-03-31    (G, D, P,  , g, r, o, w, t, h,  , (, %, ))
2011-06-30    (G, D, P,  , g, r, o, w, t, h,  , (, %, ))
2011-09-30    (G, D, P,  , g, r, o, w, t, h,  , (, %, ))
2011-12-31    (G, D, P,  , g, r, o, w, t, h,  , (, %, ))
2012-03-31    (G, D, P,  , g, r, o, w, t, h,  , (, %, ))
2012-06-30    (G, D, P,  , g, r, o, w, t, h,  , (, %, ))
2012-09-30    (G, D, P,  , g, r, o, w, t, h,  , (, %, ))
2012-12-31    (G, D, P,  , g, r, o, w, t, h,  , (, %, ))
当我试图通过pd.DataFrame执行此操作时,也发生了同样的情况:

GDP2 = pd.DataFrame(data = GDP, index = pd.date_range(start = '01-2010', end = '01-2018', freq = 'Q'))

GDP2
Out[92]: 
        GDP growth (%)
2010-03-31             NaN
2010-06-30             NaN
2010-09-30             NaN
2010-12-31             NaN
2011-03-31             NaN
2011-06-30             NaN
2011-09-30             NaN
2011-12-31             NaN
2012-03-31             NaN
2012-06-30             NaN
2012-09-30             NaN
或者当我尝试使用reindex()时:


我肯定犯了一些愚蠢的新手错误,如果有人能帮我,我会非常感激。干杯

使用
设置索引

df
    gdp
0   0.5
1   -5.2
2   -7.9
3   -9.1
4   -10.3
5   -8.8
6   -7.4
7   -10.1
8   -8.4
9   -8.7
10  -7.9
11  -4.1

df = df.set_index(pd.date_range(start = '01-2010', end = '01-2013',freq = 'Q'))

            gdp
2010-03-31  0.5
2010-06-30  -5.2
2010-09-30  -7.9
2010-12-31  -9.1
2011-03-31  -10.3
2011-06-30  -8.8
2011-09-30  -7.4
2011-12-31  -10.1
2012-03-31  -8.4
2012-06-30  -8.7
2012-09-30  -7.9
2012-12-31  -4.1

要修复代码,请添加

GDP2 = pd.DataFrame(data = GDP.values, index = pd.date_range(start = '01-2010', end = '01-2013',freq = 'Q'))
GDP2
Out[71]: 
               0
2010-03-31   0.5
2010-06-30  -5.2
2010-09-30  -7.9
2010-12-31  -9.1
2011-03-31 -10.3
2011-06-30  -8.8
2011-09-30  -7.4
2011-12-31 -10.1
2012-03-31  -8.4
2012-06-30  -8.7
2012-09-30  -7.9
2012-12-31  -4.1

非常感谢您花时间回答,这绝对有效!干杯谢谢你让我大开眼界。我试着投票表决你的评论,但我显然缺乏这样做的声誉。干杯@Nick555你应该按照你的想法去做,重建数据帧是有效的。我一定是误按了检查按钮。抱歉,伙计。@Nick555不用担心,快乐编码:-)干杯,伙计:-)
GDP2 = pd.DataFrame(data = GDP.values, index = pd.date_range(start = '01-2010', end = '01-2013',freq = 'Q'))
GDP2
Out[71]: 
               0
2010-03-31   0.5
2010-06-30  -5.2
2010-09-30  -7.9
2010-12-31  -9.1
2011-03-31 -10.3
2011-06-30  -8.8
2011-09-30  -7.4
2011-12-31 -10.1
2012-03-31  -8.4
2012-06-30  -8.7
2012-09-30  -7.9
2012-12-31  -4.1