从熊猫数据框中提取特定信息
Posted
技术标签:
【中文标题】从熊猫数据框中提取特定信息【英文标题】:Extract specific information from pandas data frame 【发布时间】:2020-10-30 22:15:23 【问题描述】:我的数据框看起来像 -
id text
1 ><body lang="EN-IN" link="#0563C1" vlink="#954F72"><div class="WordSection1"><p
class="MsoNormal">I am interested.</p><p class="MsoNormal">I need :</p><p
class="MsoNormal">330 wp</p><p class="MsoNormal">50 modules</p><p
class="MsoNormal"> </p><table class="MsoNormalTable" border="0"
cellspacing="0" cellpadding="0" style="width:282.0pt; border-
collapse:collapse">
2 ><body lang="EN-IN" link="#0563C1" vlink="#954F72"><div class="WordSection1"><p
class="MsoNormal">I am not interested.</p><p
class="MsoNormal"> </p><table class="MsoNormalTable" border="0"
cellspacing="0" cellpadding="0" style="width:282.0pt; border-
collapse:collapse">
我的最终数据框看起来像 -
id text final_text
1 ><body lang="EN-IN" link="#0563C1" I am interested. I need
vlink="#954F72"><div class="WordSection1"><p 330 wp 50 modules
class="MsoNormal">I am interested.</p>
<p class="MsoNormal">I need :</p><p
class="MsoNormal">330 wp</p><p
class="MsoNormal">50 modules</p><p
class="MsoNormal"> </p><table
class="MsoNormalTable" border="0"
cellspacing="0" cellpadding="0"
style="width:282.0pt; border-
collapse:collapse">
2 ><body lang="EN-IN" link="#0563C1" I am not interested.
vlink="#954F72"><div class="WordSection1"><p
class="MsoNormal">I am not interested.</p><p
class="MsoNormal"> </p><table
class="MsoNormalTable" border="0"
cellspacing="0" cellpadding="0"
style="width:282.0pt; border-
collapse:collapse">
逻辑应该捕获存在于<p class="MsoNormal"> and </p>.
之间的所有信息,但不包括这个字符串"&nbsp"
。我想用 python 来做。
【问题讨论】:
【参考方案1】:通常人们不会发布诸如“给我代码”之类的问题。您可以尝试发布与“如何从看起来像这样的句子中删除标签”或其他内容相同的问题。
无论如何,这是您的解决方案。
def get_sent(s):
sent = ' '.join([i[1:] for i in s[1:].replace('>','|~').replace('<','|').split('|') if i[:1]=='~' and len(i)>1 and i[:2]!='~&'])
return sent
df['final_text'] = df['text'].apply(get_sent)
希望这会有所帮助。
【讨论】:
以上是关于从熊猫数据框中提取特定信息的主要内容,如果未能解决你的问题,请参考以下文章