python - 在python中更改索引名称
问题描述
我想将python中DataFrame中的索引名称重置为与第一个数字相同的名称。
例如,如果我的 DataFrame 是:
Sample 1 Sample 2
2706 retinopathy positive retinopathy negative
2707 retinopathy negative retinopathy negative
2708 retinopathy positive retinopathy positive
我希望它变成:
Sample 1 Sample 2
706 retinopathy positive retinopathy negative
707 retinopathy negative retinopathy negative
708 retinopathy positive retinopathy positive
我试过了:
ret_metadata.rename(index={2706: '706'})
但是,我想更改许多不同行的索引名称,可能是在一个循环中。有谁知道我该怎么做?
非常感谢!
解决方案
您可以通过将其转换为字符串、切片并将其转换回 int来使用此答案中的字符串操作。
df
Sample_1 Sample_2
2706 retinopathy_positive retinopathy_negative
2707 retinopathy_negative retinopathy_negative
2708 retinopathy_positive retinopathy_positive
(如果您不关心索引是数字,则可以跳过第二次演员表)
df.index=df.index.astype(str).str[1:].astype(int)
df
Sample_1 Sample_2
706 retinopathy_positive retinopathy_negative
707 retinopathy_negative retinopathy_negative
708 retinopathy_positive retinopathy_positive
df.index
Int64Index([706, 707, 708], dtype='int64')
推荐阅读
- c# - 如何使用 MVVM 在 UI 中绑定(相对或绝对)Image、MouseEnter 和 MouseLeave 事件?
- c# - 无法处理该消息,因为该操作在 WCF 中无效或无法识别
- python - 如何在 Django 视图中读取 Django 模板输入值
- matlab - 当 k 不等于 j 时计算 a(k)+a(j)
- hadoop - Hadoop 集群中的所有从属服务器应该具有相同的配置
- java - 将mp3文件添加到java
- cordova - Cordova 应用程序 - 客户端日志记录和监控
- nginx - 是否可以在 k8s Ingress Controller 中重写 HOST 标头?
- java - 多行文本的负前瞻断言
- agda - Agda 的类型检查器爆炸