Python - Pandas - 按可变条件分组(ANS:isin())

时间:2017-01-19 23:27:20

标签: python pandas dataframe group-by

我有一个数据框“data_f”,希望通过其他地方的用户定义的条件X进行过滤,然后按groupby进行操作我该怎么做?

data_f[(data_f['Core'] == X)]  

其中X是变量,可以是一个数字0,1,2,3或“0和1”,“0和2”或全部“0,1,2,3”......等等

之类的东西
data_f[(data_f['Core'] == 0,1,2,3)].groupby(.....)

我认为这是一个更普遍的蟒蛇问题。

不知何故.filter函数对我不起作用所以我试试这种方式.. 感谢。

1 个答案:

答案 0 :(得分:1)

您可以将这些数字放在 X 列表中,例如Definition RState (S A : Type) : Type := S -> A * S. Section Bind. Variables S A B:Type. (* define a type that a proof should have *) Definition sf_f_s_are_ok (sf : RState S A) (f : A -> RState S B) (s:S) := {x | exists a s'' b s', x = (a, s'', b, s') /\ (a, s'') = sf s' /\ (b, s') = f a s}. (* bind just returns the values we were interested in *) Definition bind sf f (s:S) (H : sf_f_s_are_ok sf f s) := match H with exist _ (a, s'', b, s') _ => (b, s'') end. (* make sure bind is ok *) Lemma bind_is_ok: forall sf f s H b s'', bind sf f s H = (b, s'') -> exists a s', (a,s'') = sf s' /\ (b,s') = f a s. Proof. intros sf f s [[[[a s''0] b0] s'] [a0 [b1 [s'0 [s''1 [Ha [Hb Hc]]]]]]] b s'' H0. simpl in H0; generalize H0 Ha Hb Hc; do 4 inversion 1; subst; eauto. Qed. End Bind. ,然后使用X = [0,1,2,3]方法进行过滤:

isin()