python - 用 pandas 数据帧索引中的条件替换字符串

标签 python pandas

我经常使用这种创建或替换列并根据条件分配值的行:

df.loc[df['somecolumn'].str.endswith('_s'), 'somecolumn'] = '_sp'

我想做同样的事情,但对于索引列。我的具体问题是如何引用索引列?

df.loc[df.index.str.endswith('_s'), 'index column name?'] = '_sp'

我尝试使用 df.index.name,但它会创建一个新列而不是更改索引列中的值。

最佳答案

正如我在评论部分所说,您实际上不需要使用 index.str.endswith 直到严格来说它需要使用像开始 ^ 这样的 anchor > 并以 $ 结束,它应该为你做一份工作。

只考虑@Scott 的示例。

df.index.str.replace(r'_s$', '_sp', regex=True)

为了后代,我在这里保留这个答案..

关于python - 用 pandas 数据帧索引中的条件替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54830719/

相关文章:

Python - 在字典中查找值的交集

python - 如何基于逻辑运算从Pandas DataFrame中提取索引/列/数据?

python - 有什么优雅的方法可以用 dtype 数组的列定义数据框吗?

python - 从 pandas 的字符串列中删除非 ASCII 字符

python - Pandas:根据行内容选择列

python - 使用 pytest.raises 检查自定义异常属性

python - 如何在 sklearn 中使用 datasets.fetch_mldata()?

Python sqlite3 占位符

python - 求解微分方程时的高频噪声

Pandas 0.21.1 - DataFrame.replace 递归错误