我有一个复杂的、大型的pandas数据框,其中一列X可能包含一个列表或一个列表的列表。但我想知道这个解决方案是否适用于任何内容,因此我给出了一个模拟示例,其中X的一个元素也是一个字符串:
df1 = pd.DataFrame({
'A': [1, 1, 3],
'B': ['a', 'e', 'f'],
'X': ['something', ['hello'], [['something'],['hello']]]}
)
我想获取数据框df2的子集,其中列X包含子字符串“hello”,当其中的任何内容被读为字符串时。
>>> df2
A B X
0 1 e [hello]
1 3 f [[something], [hello]]
我已经尝试了大量的str()和.str.contains、apply、map、.find()、列表推导等组合,但似乎没有什么方法能够在不进入循环的情况下完成任务(相关问题请查看这里和这里)。我错过了什么吗?