gpt4 book ai didi

python pandas isin 方法?

转载 作者:行者123 更新时间:2023-11-30 23:12:32 24 4
gpt4 key购买 nike

我有一个像这样的字典“wordfreq”:

{'techsmart': 30, 'paradies': 57, 'jobvark': 5000, 'midgley': 100, 'weisman': 2, 'tucuman': 1, 'amdahl': 2, 'frogfeet': 1, 'd8848': 1, 'jiaoyuwang': 1, 'walter': 19}

如果值大于 5 并且键不在另一个数据帧“df”中,我想将键放入列表中,然后将它们添加到名为“stopword”的列表中:这里是一个 df数据框:

word    freq
1 paradies 1
5 tucuman 1

这是我正在使用的代码:

stopword = []
for k,v in wordfreq.items():
if v >= 5:
if k not in list_c:
stopword.append((k))

有人知道我如何使用 isin() 方法做同样的事情或者至少更有效吗?

最佳答案

我会将你的字典加载到 df 中:

In [177]:

wordfreq = {'techsmart': 30, 'paradies': 57, 'jobvark': 5000, 'midgley': 100, 'weisman': 2, 'tucuman': 1, 'amdahl': 2, 'frogfeet': 1, 'd8848': 1, 'jiaoyuwang': 1, 'walter': 19}
df = pd.DataFrame({'word':list(wordfreq.keys()), 'freq':list(wordfreq.values())})
df
Out[177]:
freq word
0 1 frogfeet
1 1 tucuman
2 57 paradies
3 1 d8848
4 5000 jobvark
5 100 midgley
6 1 jiaoyuwang
7 30 techsmart
8 2 weisman
9 19 walter
10 2 amdahl

然后使用 isin 进行过滤针对其他 df(在我的例子中是 df_1),如下所示:

In [181]:

df[(df['freq'] > 5) & (~df['word'].isin(df1['word']))]
Out[181]:
freq word
4 5000 jobvark
5 100 midgley
7 30 techsmart
9 19 walter

因此, bool 条件使用 isin 查找大于 5 的频率值,并且该单词不在另一个 df 中。并反转 bool 掩码 ~ .

您现在可以轻松获取列表:

In [182]:

list(df[(df['freq'] > 5) & (~df['word'].isin(df1['word']))]['word'])
Out[182]:
['jobvark', 'midgley', 'techsmart', 'walter']

关于python pandas isin 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29776869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com