python - 用 pandas 数据框列中的最后一位数字替换一组字符串
问题描述
我的熊猫数据框有一列,其行值等于字符串值https://acbedfgid=123456(应该是超链接但在字符串中)或“无提案”,具体取决于其他行值...
如果是前一种情况,我想用最后 6 位数字替换整个字符串(这始终是常数),如果是后一种情况,它应该是原样(“No Proposal”)
我如何在熊猫中实现这一点
谢谢?
解决方案
你可以试试
df.loc[df['ColName'].ne('No Proposal'), 'ColName'] = df.loc[df['ColName'].ne('No Proposal'), 'ColName'].str[-6:]
或者
df['ColName'].where(df['ColName'].eq('No Proposal'), lambda x: x['ColName'][-6:], inplace=True)
推荐阅读
- discord.py - Discord.py 禁止所有不和谐的机器人命令
- process - 为什么任务管理器进程中没有“.exe”
- mysql - MySQL 在午夜后突然磁盘 I/O 很高
- machine-learning - 墙壁损坏检测
- powershell - Invoke-Command 可以访问远程机器上的文件吗?
- python - 汇总 DataFrame 列而不删除列
- html - SVG上不需要的高度动画
- sql - 具有多个连接的 Group by 子句,两个列都具有截至日期
- mongodb - 在 MongoDB 中定义用户组的模式以进行访问控制
- javascript - 在 React Native 的 Modal 中添加 TextInput