【发布时间】:2019-11-18 00:23:23
【问题描述】:
我正在使用名为 filteredDS
的 pandas 开发 Dataframe目标:
搜索所有question列包含'King'字的数据。
当我通过 in 运算符添加列 king_quest 时,如下所示:
filteredDS['king_quest'] = filteredDS.question.apply(lambda x: x if ' King ' in x else None).reset_index(drop = True)
filtered_king_df = filteredDS[~filteredDS.king_quest.isnull()].reset_index()
print(filtered_king_df)
我得到大约 2000 行的数据框, 当我通过 .find() 函数添加它时:
filteredDS['king_quest'] = filteredDS.question.apply(lambda x: x if x.find('king') else None).reset_index(drop = True)
filtered_king_df = filteredDS[~filteredDS.king_quest.isnull()].reset_index()
print(filtered_king_df)
我得到大约 3000 行的数据框。
注意:在这两种情况下,question 列中的每一行都有 'king' 单词。
你能说说为什么会这样吗?
【问题讨论】:
标签: python pandas find in-operator