我试图找到是否可以使用data.asfreq(MonthEnd())
没有date_range
创建的数据。 我正在努力实现。我运行下面的代码CSV查询:熊猫频率转换
import numpy as np
import pandas as pd
data = pd.read_csv("https://www.quandl.com/api/v3/datasets/FRED/GDPC1.csv?api_key=", parse_dates=True)
data.columns = ["period", "integ"]
data['period'] = pd.to_datetime(data['period'], infer_datetime_format=True)
然后我想通过这样来分配频率,以我的“期间”栏:
tdelta = data.period[1] - data.period[0]
data.period.freq = tdelta
和一些打印系统管理命令:
print(data)
print(data.period.freq)
print(data.dtypes)
退货:
..........
270 1948-07-01 2033.2
271 1948-04-01 2021.9
272 1948-01-01 1989.5
273 1947-10-01 1960.7
274 1947-07-01 1930.3
275 1947-04-01 1932.3
276 1947-01-01 1934.5
[277 rows x 2 columns]
-92 days +00:00:00
period datetime64[ns]
integ float64
dtype: object
我还可以通过使“索引”解析原“日期”栏:
data = pd.read_csv("https://www.quandl.com/api/v3/datasets/FRED/GDPC1.csv?api_key=", parse_dates=True, index_col='DATE')
我想要做的就是隐蔽在每月行的季度数据。例如:
270 1948-07-01 2033.2
271 1948-06-01 NaN
272 1948-05-01 NaN
273 1948-04-01 2021.9
274 1948-03-01 NaN
275 1948-02-01 NaN
276 1948-01-01 1989.5
......and so on.......
我终于尝试使用ts.asfreq(MonthBegin())
,并ts.asfreq(MonthBegin(), method='pad')
做到这一点。迄今为止失败。我有以下错误:
NameError: name 'MonthBegin' is not defined
我的问题是我可以用asfreq
如果我不使用date_range
创建框架?以某种方式将我的日期栏传递给函数。如果这不是解决方案,是否有任何其他简单的方法将季度转换为每月频率?
该错误消息的问题是什么...尝试'TS非常清楚.asfreq('M',how ='start',method ='pad')'。 –
我应该在文档中看起来更好。我尝试了它,但它不会以任何方式更改该系列。它也不会导致任何错误。我尝试用'W'来改变'M'来查看是否有什么。一点也不。然而,当我将它更改为'MS'它说'TypeError:不能比较类型'时间戳'与'int'类型' – sretko