【发布时间】:2020-05-25 19:36:26
【问题描述】:
我有一个带有大量文本数据的 pandas DataFrame。我想删除所有以“*”标记开头的行。因此,我尝试了一个小例子,如下所示。
string1 = '''* This needs to be gone
But this line should stay
*remove
* this too
End'''
string2 = '''* This needs to be gone
But this line should stay
*remove
* this too
End'''
df = pd.DataFrame({'a':[string1,string2]})
df['a'] = df['a'].map(lambda a: (re.sub(r'(?m)^\*.*\n?', '', a, flags=re.MULTILINE)))
它可以完美地完成这项工作。但是,当我将相同的功能应用于原始 DataFrame 时,它不起作用。你能帮我找出问题吗?
df2['NewsText'] = df2['NewsText'].map(lambda a: (re.sub(r'(?m)^\*.*\n?', '', a, flags=re.MULTILINE)))
df2.head()
【问题讨论】:
标签: python-3.x pandas string dataframe