我有一个包含字符串的熊猫数据栏,如下所示:
Column A
text moretext 251 St. Louis Apt.54
123 Orange Drive
sometext somemoretext 171 Poplar street
textnew 11th street
77 yorkshire avenue我希望删除数字值之前的文本,即,我希望输出如下所示:
Column A
251 St. Louis Apt.54
123 Orange Drive
171 Poplar street
11th street
77 yorkshire avenue发布于 2018-04-10 20:07:45
让我们使用regex和extract
df['Column A'] = df['Column A'].str.extract(r'(\d+.+$)')输出:
0 251 St. Louis Apt.54
1 123 Orange Drive
2 171 Poplar street
3 11th street
4 77 yorkshire avenue
Name: Column A, dtype: objectregex状态得到一组字符,以任意长度开始,然后继续到行尾。
发布于 2018-04-10 20:12:27
此函数是查找字符串中第一个数字字符的索引,并选择字符串的其余部分。然后使用apply函数将该函数应用于列的每个值。
def change(string):
for i, c in enumerate(string):
if c.isdigit():
idx = i
break
return string[idx:]
data[A] = data[A].apply(change, axis = 0)https://stackoverflow.com/questions/49762063
复制相似问题