Python 在Pandas中修改多索引数据帧中的重复子索引
嗨,我有一个数据帧切片,如下所示:Python 在Pandas中修改多索引数据帧中的重复子索引,python,pandas,dataframe,multi-index,removing-whitespace,Python,Pandas,Dataframe,Multi Index,Removing Whitespace,嗨,我有一个数据帧切片,如下所示: | | | Lemon | Orange | |------------|----------|-------|--------| | Date | Location | | | | 01/01/2016 | Park | 10 | 20 | | 01/01/2016 | Beach | 5 | 15 | | 01/01/2016 | Pa
| | | Lemon | Orange |
|------------|----------|-------|--------|
| Date | Location | | |
| 01/01/2016 | Park | 10 | 20 |
| 01/01/2016 | Beach | 5 | 15 |
| 01/01/2016 | Park | 2 | 4 |
| 02/01/2016 | Park | 8 | 3 |
正如您所看到的,(01/01/2016,Park)
有一个副本,原因是第三个条目在Park中的k后面有一个空格。我的索引选择技能有限,无法在整个位置列上执行rstrip(“”
),以避免空格错误
最终,我希望能够使用groupby
功能来可视化Park
和其他位置之间的数据。目前,“Park”
和“Park”
是两个不同的位置
有什么建议吗?索引是不可变的,因此如果您想更改
索引
标签,您需要设置一个新的索引
(谢谢)
您可以通过以下方式在第二级选择中使用:
如果要使用,请将
str.strip
替换为str.rstrip
注意索引是不可变的,因此如果要更改索引标签,则需要设置新索引。确切地说,我将其添加到了答案中。多谢各位。
new_index = list(zip(df.index.get_level_values('Date'),
df.index.get_level_values('Location').str.strip()))
df.index = pd.MultiIndex.from_tuples(new_index, names = df.index.names)
print (df.index)
MultiIndex(levels=[[2016-01-01 00:00:00, 2016-02-01 00:00:00], ['Beach', 'Park']],
labels=[[0, 0, 0, 1], [1, 0, 1, 1]],
names=['Date', 'Location'])