如何使用列表推导式根据另一列中的相应值过滤数据框的一列? [重复]

问题描述 投票:0回答:1

我想过滤数据框并使用列表理解创建列表。到目前为止,我的尝试没有成功。

df = pd.DataFrame({
    "A" : [1,2,3],
    "B" : ["a_b_c_some_word", "de_f_some_word", "g_hi_some_word"]
})

lst = [i for i in df["A"] if word in df["B"]]
print(lst)
[]

我期待

[1]
作为这个例子的输出,但总是得到空列表?我希望有人能解释我在这里缺少的东西。

python dataframe list list-comprehension
1个回答
2
投票

我想这就是你想要的:

lst = [i for i, j in zip(df['A'], df['B']) if word in j]

并行遍历两列,如果另一列中的相应值的条件为真,则返回一列的值。

© www.soinside.com 2019 - 2024. All rights reserved.