【发布时间】:2020-05-01 10:26:24
【问题描述】:
我想替换我的数据框中以错误格式输入的一些值。例如,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
输出:
我想要什么:
【问题讨论】:
-
按照您的逻辑,它将是:
df.loc[df.mycolumn.str.contains('/'), 'mycolumn'] = df.mycolumn.str.split('/').str[1]。但在这种情况下,anky_91的答案更有意义。
标签: python string pandas split data-cleaning