gpt4 book ai didi

python - 使用列表元素过滤 Pandas 数据框

转载 作者:行者123 更新时间:2023-12-04 00:13:31 26 4
gpt4 key购买 nike

我正在尝试过滤某些列是列表的数据框。我想过滤掉不通过条件的元素。

例如:

import pandas as pd 
df = pd.DataFrame({'col1':[10,20], 'col2': [[1,2,3],[3,4,5]], 'col3': [[False,False,True],[True,True,False]],'col4':[True,False]})
   col1       col2                  col3   col4
0 10 [1, 2, 3] [False, False, True] True
1 20 [3, 4, 5] [True, True, False] False

应用过滤器

df_filtered = df.query("col2>2 & col3==True")

我期望的输出

enter image description here

感谢您的帮助!

最佳答案

试试:

df[['col2','col3']] = (pd.DataFrame({'col2': df['col2'].explode(),
'col3': df['col3'].explode()})
.query('col2>2 & col3==True')
.groupby(level=0).agg(list)
)

输出:

打印(df)

   col1    col2          col3   col4
0 10 [3] [True] True
1 20 [3, 4] [True, True] False

关于python - 使用列表元素过滤 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66104429/

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