You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas中移除索引中的连字符及右侧上限值?

解决Pandas索引移除连字符及右侧数值的问题

没问题,这个需求很好实现,咱们用Pandas自带的字符串处理方法就能轻松搞定。下面给你两种简单的方案,你可以根据习惯选:

方法一:用str.split()分割索引

咱们可以把索引字符串按-分割,只保留分割后的第一个部分作为新索引:

import pandas as pd

# 先构造你的目标DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4]}, index=['0-1.5', '1.5-3.3', '3.3-5.4', '5.4-7.9'])

# 处理索引:按'-'分割后取第一部分
df.index = df.index.str.split('-').str[0]

print(df)

运行后就能得到你想要的结果:

A
0      1
1.5    2
3.3    3
5.4    4

方法二:用str.extract()提取匹配内容

如果你习惯用正则表达式,可以直接提取-左侧的所有内容:

# 用正则提取开头到第一个'-'前的内容
df.index = df.index.str.extract(r'^(.*?)-', expand=False)

这里的正则^(.*?)-表示从字符串开头开始,匹配到第一个-为止的所有内容,expand=False确保返回的是Series格式,刚好能直接替换原索引。

两种方法都能达成目标,如果你的索引格式是统一的数值-数值,第一种方法更直观;如果以后索引格式有变化,正则的方法会更灵活。

内容的提问来源于stack exchange,提问作者Jeroen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 21:03:15