首页 > 解决方案 > 将元素作为列表切片数据框

问题描述

我的数据框将列表作为元素,我希望有更有效的方法来检查某些条件。

我的数据框看起来像这样

col_a   col_b
0   100 [1, 2, 3]
1   200 [2, 1]
2   300 [3]

我只想获取 col_b 中为 1 的那些行。

我尝试过天真的方式 temp_list=list()

for i in range(len(df1.index)):    
    if 1 in df1.iloc[i,1]:
        temp_list.append(df1.iloc[i,0])

对于像这样的大数据框,这需要很多时间。我怎样才能使搜索更有效地搜索这样的数据框?

标签: pythonpandas

解决方案


df[df.col_b.apply(lambda x: 1 in x)]

结果是:

col_a   col_b
0   100 [1, 2, 3]
1   200 [2, 1]

推荐阅读