假设我有一个df,它有两列a和B,还有一个类Foo((,它可以用a的值实例化。我想得到一个满足Foo(a(.item.price==0的B的唯一序列。我尝试了以下代码,但显然不起作用。
unique_B = df.loc[Foo(df.A.str).item.price == 0, "B"].unique()
我想我可以创建第三列来存储foo(df.a(的值,有更简单的解决方案吗?
使用df.A.apply(foo)
而不是foo(df.A.str)
:
unique_B = df.loc[df.A.apply(foo) == 0, "B"].unique()
访问foo
类的item
属性:
unique_B = df.loc[df.A.apply(lambda x: foo(x).item.price) == 0, "B"].unique()