我有一个数据框“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函数对我不起作用所以我试试这种方式.. 感谢。
答案 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()