我有一个月的用电量数据(每次读数需要五分钟),我想在此数据集中设置一个频率。请帮助我(如果您想查看我的数据,那么我可以提供,请告知我)
在jupyter笔记本中,我尝试过类似(let,df = my_data)的代码
df = pd.read_excel('practice.xlsx',index_col=0,parse_dates=[['Date', 'Time']])
df = df.asfreq(freq='5T')
my data (in which I want to set frequency)
df.head()
Date_Time Actual Load
2019-06-01 00:05:00 5414.0
2019-06-01 00:10:00 5385.5
2019-06-01 00:15:00 5330.8
2019-06-01 00:20:00 5308.3
2019-06-01 00:25:00 5278.6
df.tail()
Date_Time Actual Load
2019-06-30 23:35:00 6333.9
2019-06-30 23:40:00 6291.7
2019-06-30 23:45:00 6265.8
2019-06-30 23:50:00 6282.0
2019-06-30 23:55:00 6217.7
出现此错误:
ValueError:无法从重复的轴重新索引
答案 0 :(得分:1)
检查df[df.index.duplicated()]
是否返回重复值?
如果是,
使用df = df[~df.index.duplicated()]
删除重复项
这可能就是这种原因之一。分享您的df.sample(5)
以获得更好的主意
编辑: 根据您的头和尾数据,第一个建议是使用
df = pd.read_excel('practice.xlsx',index_col=0,parse_dates=[['Date', 'Time']])
这将合并您的日期和时间列。
现在df = df.asfreq(freq='5T')
将起作用。
如果您想按小时频率重新采样,请使用df.resample('H', how='mean')
答案 1 :(得分:0)
您正在使用“ D”或“ H”作为索引,并且索引具有不允许的相同值。当索引具有重复项或单个值时,您尝试分配给列。
建议共享一个示例数据以复制您的错误。