[英]Python: Slice a column string in Pandas Dataframe
我正在尝试修改列字符串。 我想删除列中不需要的数字并将修改后的值另存为新列。
这是 SQL 中的示例:
使用cast(substring(EMP_NM,0,CHARINDEX(' ',EMP_NM))as int)
我得到以下结果。
我怎样才能在 python 中做到这一点,我只能在新列中获得数字的“4253332”部分?
df.['EMP_NM'] = df['EMP_NM'].str.slice(0, 9) -- This does not give the result I want as some values in the column can be defined as below:
009201135 0000000000 0000000000 0000000000 0000000000
0006892203 0000000000 0000000000 0000000000 0000000000
任何帮助,将不胜感激。
尝试这个:
df['EMP_NM'] = df['EMP_NM'].astype(str).str[0:7]
如果此数据字段作为 integer 读入python ,则前导“0”将被自动删除。 因此你可以只索引保留前 7 个字符。
.astype(str)
用于将该字段视为用于索引的字符串。 您只能索引字符串,不能索引整数或浮点数。.str[0:7]
用于索引保留 7 个值的字符串。这个怎么样:
df['EMP_NM'] = df['EMP_NM'].str.replace('0','')
或者,如果您还有类似009201135 0000000000 32331 0000000000 0000000000
类的可能编号。 这意味着,代码的其他部分也不同于零,这应该会更好:
df['EMP_fNM'] = df['EMP_NM'].str.split()[0][0].strip('0')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.