python - 如何根据条件在 pandas 数据帧上应用字符串拆分方法?
问题描述
我想替换我的数据框中以错误格式输入的一些值。例如,850/07-498745 应该是 07-498745。现在,我成功地使用了字符串拆分来做到这一点。但是,它将所有以前正确格式化的字符串转换为 NaN。我试图基于一个条件,但我仍然有同样的问题。我该如何解决?
示例输入:
mylist = ['850/07-498745', '850/07-148465', '07-499015']
df = pd.DataFrame(mylist)
df.rename(columns={ df.columns[0]: "mycolumn" }, inplace = True)
我的尝试:
df['mycolumn'] = df[df.mycolumn.str.contains('/') == True].mycolumn.str.split('/', 1).str[1]
df
输出:
我想要什么:
解决方案
您可以使用split
并/
从列表中获取最后一个返回字符串:
df['mycolumn'].str.split('/').str[-1]
0 07-498745
1 07-148465
2 07-499015
Name: mycolumn, dtype: object
推荐阅读
- javascript - Firebase 存储:索引 0 处的“put”中的参数无效:预期的 Blob 或文件
- mongodb - MongoDB查询多个嵌套字段的公共字段
- python - Python:ValueError 和 XLRDError 的异常处理
- python - 有条件地更改 Python Marshmallow 中的字段属性
- python - 根据列上的条件合并 2 个数据框
- php - 在 params 数组中回显文件内容
- javascript - 对具有对象数组的复杂对象动态执行 .join
- python - 如何对执行 SQL 的函数进行单元测试而不影响 Python 中的数据库?
- powershell - sudent,New-ADUser 多用户创建脚本的名称无效
- python - Python 3 帧中的奇怪行为