python - 为什么我会为一组骑行数据得到这个值错误,即使它对于不同的骑行非常有效
问题描述
嗨,我得到了这个:
ValueError: cannot reindex a non-unique index with a method or limit
运行这些行时:
df_nemo_all = pd.read_csv(
"https://cdn.touringplans.com/datasets/finding_nemo_subs.csv", usecols=['date','datetime','SPOSTMIN'],
parse_dates=['date', 'datetime']
)
df_nemo_all['ride'] = 'space'
df_nemo_all['open'] = ~((df_space_all['SPOSTMIN'] == -999))
df_nemo = df_nemo_all.set_index('datetime').sort_index()
df_nemo = df_nemo.loc['2017-01-01 06:00':'2017-02-01 00:00']
df_nemo = df_nemo.resample('15Min').ffill()
当它适用于不同的骑行时,例如:
df_space_all = pd.read_csv(
"https://cdn.touringplans.com/datasets/space_mountain_dlr.csv", usecols=['date','datetime','SPOSTMIN'],
parse_dates=['date', 'datetime']
)
df_space_all['ride'] = 'space'
df_space_all['open'] = ~((df_space_all['SPOSTMIN'] == -999))
df_space = df_space_all.set_index('datetime').sort_index()
df_space = df_space.loc['2017-01-01 06:00':'2017-02-01 00:00']
df_space = df_space.resample('15Min').ffill()
解决方案
您的索引中确实有重复项
- 2017-01-13 09:31:05 有两排
- 我已经排除了这个,然后它就可以工作了
df_space_all = pd.read_csv(
"https://cdn.touringplans.com/datasets/space_mountain_dlr.csv", usecols=['date','datetime','SPOSTMIN'],
parse_dates=['date', 'datetime']
)
df_space_all['ride'] = 'space'
df_space_all['open'] = ~((df_space_all['SPOSTMIN'] == -999))
df_space = df_space_all.set_index('datetime').sort_index()
df_space = df_space.loc['2017-01-01 06:00':'2017-02-01 00:00']
df_space = df_space.resample('15Min').ffill()
df_nemo_all = pd.read_csv(
"https://cdn.touringplans.com/datasets/finding_nemo_subs.csv", usecols=['date','datetime','SPOSTMIN'],
parse_dates=['date', 'datetime']
)
df_nemo_all['ride'] = 'space'
df_nemo_all['open'] = ~((df_space_all['SPOSTMIN'] == -999))
df_nemo = df_nemo_all.set_index('datetime').sort_index()
df_nemo = df_nemo.loc['2017-01-01 06:00':'2017-02-01 00:00']
c = df_nemo.groupby(level=0).transform("count")
c[c["date"]>1].index.tolist()
df_nemo = df_nemo[~df_nemo.index.isin(c[c["date"]>1].index.tolist())].resample('15Min').ffill()
df_nemo
输出
date SPOSTMIN ride open
datetime
2017-01-01 09:00:00 NaT NaN NaN NaN
2017-01-01 09:15:00 2017-01-01 5.0 space True
2017-01-01 09:30:00 2017-01-01 5.0 space True
2017-01-01 09:45:00 2017-01-01 5.0 space True
2017-01-01 10:00:00 2017-01-01 5.0 space True
... ... ... ... ...
2017-01-31 18:45:00 2017-01-31 20.0 space True
2017-01-31 19:00:00 2017-01-31 20.0 space True
2017-01-31 19:15:00 2017-01-31 20.0 space True
2017-01-31 19:30:00 2017-01-31 10.0 space True
2017-01-31 19:45:00 2017-01-31 10.0 space True
推荐阅读
- google-cloud-platform - Google vision 无法识别表格中的数字
- ios - iOS13分享表:分享UIImage时如何设置预览缩略图
- javascript - 将数据属性添加到 Web 元素的最佳方式
- sql-server - 需要帮助将表的模式存储在 SSIS 中的变量中
- wordpress - 如何将导航标题菜单栏的背景颜色从一种颜色更改为两种颜色
- azure - 无法在 Azure (Windows) VM 中以交互模式运行 Docker
- sql - SQL 与 sqlalchemy.execute
- r - 带有 data.table 的引导功能
- java - Spring ScriptUtils - PostgreSQL 中未终止的美元报价
- ruby-on-rails - 使用 Vue 组件创建 Rails 表单