重采样错误:值错误:月份必须在 1..12 之间
我有一个.csv文件,我想把它的时间数据调整成每分钟一个数据点。
我这样做:
main = pd.read_csv(pump,
skiprows=12,
index_col='Timestamp',
parse_dates=True
)
main = main.resample('1Min', how='max')
但是我遇到了一个错误:
ValueError: month must be in 1..12
我有点困惑,因为当我打印出来看看main的内容时,时间戳的格式是这样的:
时间戳
2014-04-15 00:00:00
2 个回答
1
我会把那个特定的列传递给下面的函数,然后改变日期、月份和年份的顺序。
def changedate_formate(df):
split = df.split('.')
a = split[1]
b = split[2]
c = split[0]
return ''.join(a+b+c)
1
根据我有限的信息和一些处理日期的经验,我猜你可能遇到了两个问题:
- 你的数据有问题,需要找出哪个月份不对。
- 你在解析时间戳时需要指定格式。你的程序可能把2014当成了月份。
infer_datetime_format : 布尔值,默认是False。如果设置为True,并且在某一列启用了parse_dates,那么程序会尝试推测日期时间的格式,以加快处理速度。
既然你认为已经排除了以上两种可能性,也许这个信息能帮到你。我看到的所有关于这个函数的例子,max的格式都是这样的:
ts.resample('1Min', how=np.max)