gpt4 book ai didi

python - 如何过滤 pandas DataFrame 中包含空列表的行?

转载 作者:行者123 更新时间:2023-12-01 01:08:00 24 4
gpt4 key购买 nike

我有一个如下所示的 DataFrame:

A    B    C    D
foo foo foo ['list_value']
bar bar bar ['list_value', 'another_list_value']
baz baz baz []

如何过滤掉空列表?我正在尝试 .isin 但它抛出了一个错误:

df[df['D'].isin([])]

SystemError: <built-in method view of numpy.ndarray object at 0x0000017ECA74BF30> returned a result with an error set

我还检查了this问题但无法弄清楚如何在 DataFrame 上下文中实现。

任何帮助将不胜感激。

最佳答案

通过astype将列表转换为 bool 值,空列表返回False,因此过滤效果很好:

df1 = df[df['D'].astype(bool)]
print (df1)
A B C D
0 foo foo foo [list_value]
1 bar bar bar [list_value, another_list_value]

另一种解决方案是使用 Series.str.len 按长度过滤- 它适用于所有可迭代对象:

df1 = df[df['D'].str.len() != 0]

关于python - 如何过滤 pandas DataFrame 中包含空列表的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55142700/

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