我有一个 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/