python - 如何清理pandas数据框中的索引值?

标签 python pandas dataframe data-analysis

Abomasnow                   Grass   Ice     494     90  92  75  92  85  60  
AbomasnowMega Abomasnow     Grass   Ice     594     90  132     105 132 105
Abra                    Psychic     Psychic     310     25  20  15  105 55 
Absol                      Dark     Dark    465     65  130     60  75  60  75 
AbsolMega Absol

我有一个像这样的数据框,其中有一些脏索引值。例如:我需要更改 AbomasnowMega Abomasnow 的值至Mega Abomasnow与其他此类事件类似,即我需要在任何有单词 Mega 的地方执行此操作。我该怎么做?

最佳答案

这里有一个选项,您可以将 .str.replace() 方法与正则表达式一起使用,使用 .*(?=Mega),它将删除之前的所有字符字符串中的最后一个 Mega,如果您不熟悉 regex.* 会贪婪地匹配所有字符,?= 是前瞻语法,它直接将匹配模式限制在 Mega 前面:

df.index = df.index.str.replace(".*(?=Mega)", "")

df.index
# Index(['Abomasnow', 'Mega Abomasnow', 'Abra', 'Absol', 'Mega Absol'], dtype='object', name=0)

关于python - 如何清理pandas数据框中的索引值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41701523/

相关文章:

python - 请求/异步: Is there a drawback for making pool_maxsize=1000 with a Python requests session?

python - Pandas 数据框分组函数计算日期差异

r - 在 R 中结合头尾方法

Python:Pandas Dataframe 使用通配符在列中查找字符串并保留行

python - Pandas:更详细地从多列中删除空值

python - 使用子图时如何使用 matplotlib.pyplot.xticks 或类似的?

python - 使用现有的 virtualenv 配置 PyCharm

python Pandas : Find percentage by dividing 2 arrays

python - Pandas - 创建一个对称矩阵来计算记录数

python - 使用 pd.read_csv 打开 CSV 文件 - 上下文管理器的任何目的?