如何 return 一个空值或 pandas 数据帧上的 None?
How to return an empty value or None on pandas dataframe?
示例数据:https://docs.google.com/spreadsheets/d/1s6MzBu5lFcc-uUZ9B6CI1YR7P1fDSm4cByFwKt3ckgc/edit?usp=sharing
我有这个功能,使用textacy提取出处。这会自动 return 引用演讲者、提示和内容。在我的数据集中,有些段落有多个引用,但我只需要第一个,这就是为什么我把 BREAK 放在 for 循环中。
我现在的问题是一些原始数据没有引用,所以我希望函数不仅会跳过它,它还会 return 一些东西。我相信问题出在 EXCEPT:
之后
它return是这样的:
但它应该跳过第一行,因为第一行 return 是一个错误所以我希望它看起来像这样:
import textacy
from textacy import extract
import spacy
def extract_direct(text):
extracted = pd.DataFrame()
for i in text:
try:
doc = nlp(i)
a = ex.direct_quotations(doc)
for item in a:
mined = {'speaker': item.speaker, 'cue': item.cue, 'content': item.content}
extracted = extracted.append(mined, ignore_index = True)
break
except ValueError:
continue
contents = news_only['index']
extracted = pd.concat([extracted, contents], ignore_index=True)
return(extracted)
extract_direct(dataframe['Body'])
我这样做是为了解决问题。必须在 Try 和 Except 处附加两个实例。
def extract_direct(text):
extracted = pd.DataFrame()
for i in text:
try:
doc = nlp(i)
a = ex.direct_quotations(doc)
for item in a:
mined = {'speaker': item.speaker, 'cue': item.cue, 'content': item.content}
extracted = extracted.append(mined, ignore_index = True)
break
except ValueError:
mined = {'speaker': 'None', 'cue': 'None', 'content': 'None'}
extracted = extracted.append(mined, ignore_index = True)
return(extracted)
示例数据:https://docs.google.com/spreadsheets/d/1s6MzBu5lFcc-uUZ9B6CI1YR7P1fDSm4cByFwKt3ckgc/edit?usp=sharing
我有这个功能,使用textacy提取出处。这会自动 return 引用演讲者、提示和内容。在我的数据集中,有些段落有多个引用,但我只需要第一个,这就是为什么我把 BREAK 放在 for 循环中。
我现在的问题是一些原始数据没有引用,所以我希望函数不仅会跳过它,它还会 return 一些东西。我相信问题出在 EXCEPT:
之后它return是这样的:
但它应该跳过第一行,因为第一行 return 是一个错误所以我希望它看起来像这样:
import textacy
from textacy import extract
import spacy
def extract_direct(text):
extracted = pd.DataFrame()
for i in text:
try:
doc = nlp(i)
a = ex.direct_quotations(doc)
for item in a:
mined = {'speaker': item.speaker, 'cue': item.cue, 'content': item.content}
extracted = extracted.append(mined, ignore_index = True)
break
except ValueError:
continue
contents = news_only['index']
extracted = pd.concat([extracted, contents], ignore_index=True)
return(extracted)
extract_direct(dataframe['Body'])
我这样做是为了解决问题。必须在 Try 和 Except 处附加两个实例。
def extract_direct(text):
extracted = pd.DataFrame()
for i in text:
try:
doc = nlp(i)
a = ex.direct_quotations(doc)
for item in a:
mined = {'speaker': item.speaker, 'cue': item.cue, 'content': item.content}
extracted = extracted.append(mined, ignore_index = True)
break
except ValueError:
mined = {'speaker': 'None', 'cue': 'None', 'content': 'None'}
extracted = extracted.append(mined, ignore_index = True)
return(extracted)