【发布时间】:2021-09-21 03:50:15
【问题描述】:
我有这个熊猫数据框
0 Tokens
1: 'rice', 'XXX', '250g'
2: 'beer', 'XXX', '750cc'
这里的所有标记,“rice”、“XXX”和“250g”都在同一个字符串列表中,也在同一列中
我想删除数字,因为它与另一个词, 无法删除数字。
我试过这段代码:
def remove_digits(tokens):
"""
Remove digits from a string
"""
return [''.join([i for i in tokens if not i.isdigit()])]
df["Tokens"] = df.Tokens.apply(remove_digits)
df.head()
但它只是加入了字符串,我显然不想这样做。
我想要的输出:
0 Tokens
1: 'rice' 'XXX' 'g'
2: 'beer', 'XXX', 'cc'
【问题讨论】:
-
这里的
Tokens是什么?你能提供构建df的句子吗? -
这是我清理的令牌所在的列。
-
我认为这通过使用正则表达式回答了您的问题:stackoverflow.com/questions/40178364/…
-
在您建议的解决方案中,您将一个列表
Tokens传递给您的函数,然后您需要在应用isdigit()之前循环到字符串i中的每个字符
标签: python pandas string digits