python - 如果列值满足语句,如何提取整个数据框行?

标签 python pandas dataframe list-comprehension

我有一个包含 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/

相关文章:

python - 如何修改 Range 函数中边界值的包含/排除行为?

python - 我无法制作我理想的 DataFrame

Python:对 Pandas 数据框中与列值匹配的行进行求和?

python - 如何从 json 数据创建 DataFrame - 数组中的字典、列表和数组

python - 具有多索引的 pandas 数据框上的 boolean 掩码

python - 使用映射函数在 pandas 列中绘制直方图

python - Django 管理员 : How to get all values from 2 models with same FK

python - 使用 pandas 或 matplotlib 在 IPython 笔记本中绘制性别图表

python - 如何重构 API

python - 使用 pandas 进行插值时如何控制 X 和 Y