切片 Pandas 数据帧非单调索引
Posted
技术标签:
【中文标题】切片 Pandas 数据帧非单调索引【英文标题】:Slicing a Pandas dataframe non-monotonic index 【发布时间】:2018-06-10 02:17:59 【问题描述】:我正在尝试对 DataFrame 进行切片以返回时间序列的特定部分。然而,时间是按周标记的,这给我带来了麻烦。
df
Week one two
0 12/3/2017 0 7
1 12/3/2017 6 1
2 12/10/2017 5 8
3 12/10/2017 2 4
4 12/17/2017 3 7
5 12/17/2017 2 0
6 12/24/2017 8 9
我一直在尝试通过将“周”列设置为索引然后使用部分字符串索引来进行切片,但我不断收到一个键错误,提示“无法为非唯一标签获取左切片边界:'12/3/ 2017'"
df = df.set_index('Week')
df = df['12/3/2017':'12/17/2017']
KeyError: "Cannot get left slice bound for non-unique label: '12/3/2017'"
关于如何完成这项工作的任何建议?
【问题讨论】:
【参考方案1】:是的,使用loc
。
df.loc['12/3/2017':'12/17/2017']
one two
Week
12/3/2017 0 7
12/3/2017 6 1
12/10/2017 5 8
12/10/2017 2 4
12/17/2017 3 7
12/17/2017 2 0
这适用于v0.21
。
【讨论】:
感谢您的帮助!我尝试使用loc
,但不幸的是我仍然遇到相同的密钥错误
@DH_III 尝试更新到0.21
(为此我将版本放在底部)。以上是关于切片 Pandas 数据帧非单调索引的主要内容,如果未能解决你的问题,请参考以下文章
pandas分层索引(层级索引MultiIndex)的创建取值切片统计计算以及普通索引和层级索引的转换方法