python - 替换一列各种字符串
问题描述
我正在对来自Kaggle 比赛的 PUBG 数据做一些 EDA 。我想将常见的游戏模式转换为标准形式的单人、双人、小队、耀斑和碰撞
以下是唯一值列表:
{'flaretpp', 'crashtpp', 'squad-fpp', 'duo-fpp', 'crashfpp', 'normal-squad',
'normal-squad-fpp', 'normal-duo-fpp', 'normal-duo', 'normal-solo', 'squad',
'duo', 'solo-fpp', 'solo', 'normal-solo-fpp', 'flarefpp'}
我基本上想从值中删除“normal-”、“-fpp”、“fpp”和“tpp”子字符串。
我有一些有效的代码,但速度很慢(大约有 450 万行)。我想知道是否有更快/更好的方法来做到这一点?
for i in range(len(data['matchType'])):
data['matchType'][i] = data['matchType'][i].replace('normal-','')
data['matchType'][i] = data['matchType'][i].replace('-fpp','')
data['matchType'][i] = data['matchType'][i].replace('tpp','')
data['matchType'][i] = data['matchType'][i].replace('fpp','')
解决方案
将您的数据加载到 Pandas 系列中并使用单个命令完成:
mymode.str.replace(r'normal-|-fpp|fpp|tpp', '')
使用您的示例数据,您可以:
0 flare
1 crash
2 squad
3 duo
4 crash
5 squad
6 squad
7 duo
8 duo
9 solo
10 squad
11 duo
12 solo
13 solo
14 solo
15 flare
推荐阅读
- ansible - 在 YAML 中为 Ansible 循环内部变量
- flutter - 如何导航到具有构造函数参数的页面?
- reactjs - 尝试从一个对象渲染多个属性到单个 JSX 元素 - React 组件
- mongodb - 已连接到 MLab,但不会连接到 localhost
- python - 计算列表中的连续出现和
- mysql - mysqldump:无法执行 'SHOW PACKAGE STATUS WHERE Db = 当 rake db:migrate 完成迁移时
- python-3.x - Python Selenium:如何优化按钮选择和提交过程?
- java - 将多个分隔符传递给 StringTokenizer 构造函数
- python - 有没有一种有效的方法可以从熊猫的散点数据中创建颜色网格?
- sql - 根据列的值使用 SQL 求和