我有一个pandas数据框,其值作为Frozensets
df
foo
frozenset('A')
frozenset('B','C') and so on
代码:
df[len(df.foo)>1]
上面的代码应该给我至少包含两个元素的行,对吗?如果没有,那怎么办?
答案 0 :(得分:0)
您可以将Series.str.len
与可迭代对象配合使用:
df = pd.DataFrame({'foo':[frozenset('A'),frozenset(['B','C'])]})
print (df)
foo
0 (A)
1 (C, B)
df1 = df[df['foo'].str.len() > 1]
#another solution with list comprehension
#df1 = df[[len(x) > 1 for x in df['foo']]]
print (df1)
foo
1 (C, B)