我有一个包含 2 列的数据框:
+-----------+----------+
| Tweet | Language |
+-----------+----------+
| some text | en |
| more text | en |
| ein text | de |
+-----------+----------+
(推文栏中的文本是实际的推文)
我想应用语言检测算法来查看我的 df 中有多少德语(德)推文。
from langdetect import detect
nlp = detect
这可行,但只会将推文添加到 temp_list
temp_list = [row for row in df['Tweet'] if nlp(row)=='de']
但是,我想要的是,如果语言检测算法将其标记为德语,则将整行添加到 temp_list 中。我想包含这两列,这样我就可以与我的语言列(我手动标记的)进行交叉检查。
最佳答案
您可以使用应用
df[df['Language']==df['Tweet'].apply(nlp)]
这将返回一个数据帧
您还可以创建一个新列,例如Detected_lang
df['detected_lang']=df['Tweet'].apply(nlp)
print(df)
Tweet Language detected_lang
0 some text en sv
1 more text en en
2 ein text de de
关于python - 如果列值满足语句,如何提取整个数据框行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59327484/