gpt4 book ai didi

python - 修改 Pandas MultiIndex 数据框中的重复子索引

转载 作者:太空宇宙 更新时间:2023-11-04 03:07:06 25 4
gpt4 key购买 nike

您好,我有一个数据帧切片如下:

|            |          | 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) 有一个副本,原因是第 3 个条目在 Park 中的 k 之后有一个空格。我在使用有限的索引选择技巧时遇到困难,无法在整个 Location 列上执行 rstrip("") 以避免出现空白错误。

最终,我希望做一个 groupby 函数来可视化 Park 和其他位置之间的数据。目前,"Park""Park " 是两个不同的位置。

有什么建议吗?

最佳答案

索引是不可变的,因此如果您想更改 index 标签,您需要设置一个新的 index(感谢 IanS)。

您可以使用 str.strip在第二级选择 get_level_values :

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'])

如果你想使用 rstrip , 将 str.strip 替换为 str.rstrip.

关于python - 修改 Pandas MultiIndex 数据框中的重复子索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39123606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com