python - Pandas - 用名称 ID 替换数字字符串
问题描述
我的数据框中有一列包含所有字符串,其中一些是 TAG(机器/计算机),一些其他项目,还有一些是 ID。我希望将所有 ID 字符串更改为“ID”而不是数字字符串。
type(df.columnOne[1])
str
这就是我的 df 列的样子:
df
columnOne
0 TAG
1 1115268
2 13452
3 system
4 TAG
5 355511
6 95221543
7 5124
8 111333544
9 TAG
10 local
11 434312
期望的输出:
df
columnOne
0 TAG
1 ID
2 ID
3 system
4 TAG
5 ID
6 ID
7 ID
8 ID
9 TAG
10 Local
11 ID
我通常会做一些事情,如果它不等于 TAG 或系统或本地然后 ID。但它总是随着名称而变化。
解决方案
如果我理解正确,您可以使用str.isnumeric
:
df.loc[df.columnOne.str.isnumeric(),'columnOne'] = 'ID'
>>> df
columnOne
0 TAG
1 ID
2 ID
3 system
4 TAG
5 ID
6 ID
7 ID
8 ID
9 TAG
10 local
11 ID
推荐阅读
- python - 当 Pyspark UDF 的 return 语句中的 func 调用没有返回输出
- go - 执行多个 switch case
- ios - UIAlertController 太小
- kubernetes - Kubernetes:仅执行命令外壳容器
- java - Apache POI 仅读取大型 Excel 文件的第一行
- node.js - 没有找不到模块'fs':我已经尝试了所有可用的链接来解决这个问题
- android - Firebase 动态链接,以编程方式为 Android 定义链接行为
- python - Stackstorm 2.7 webhook“AccessRefused:403”错误
- c# - 带有文本框选择更改事件的“输入字符串格式不正确”
- regex - 如何替换或替换所有字符,但不是引号内的字符?(谷歌表格)