python - 从 Pandas Dataframe 中删除空方括号

标签 python pandas

我有一个 pandas 数据框,其中一些列包含空方括号,如下所示

代码

data = pd.DataFrame(dict(A=[5,3,5,6], C=[['man','talk'],['bar'],[],['bat','cat','mat']]))

数据框

    A   C
0   5   [man, talk]
1   3   [bar]
2   5   []
3   6   [bat, cat, mat]

我需要删除包含空方括号的行

必需的数据框

    A   C
0   5   [man, talk]
1   3   [bar]
2   6   [bat, cat, mat]

我试过 data = data[data["C"].str.contains("[]") == False] 但这给我错误 error: unterminated character set在位置 0 。如何从数据框中删除所有这些行。 提前致谢

最佳答案

您可以使用 str.len 检查列表的长度并在大于 0 时使用 bool 数组切片:

data[data['C'].str.len().gt(0)]

或者,转换为 bool 值(这似乎是最快的方法):

data[data['C'].astype(bool)]

输出:

   A                C
0  5      [man, talk]
1  3            [bar]
3  6  [bat, cat, mat]

关于python - 从 Pandas Dataframe 中删除空方括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71155792/

相关文章:

python - Pandas:如何创建一个简单的计数器来增加每 n 行?

python - 读取具有键值对的文本文件,并使用 python pandas 将每一行转换为一个字典

pandas - 改进 IPython 小部件中 Pandas DataFrames 的 HTML 样式

python - 如何使用交叉验证模型获取系数

class - 为什么在 Python 中使用数据类型来初始化实例是不好的?

python - 计数行给出滚动文本框的错误结果

python - 通过从文本文件中读取数据自动加载 SQL 表

python - Pandas 数据帧图 : lists of values

python - 使用 RSA 算法进行编码解码时图像数据被损坏

python - 为什么在Python Pandas中, float 条件可以删除数据框中的对象?