我有一个与此类似的 Pandas Dataframe|Ind| C1 | C2 |....| Cn ||-----------------------|| 1 |val1| AE |....|time||-----------------------|| 2 |val2| FB |....|time||-----------------------||...|....| .. |....| ...||-----------------------|| n |valn| QK |....|time|我必须按列C2对每个组进行一些过滤,并将结果存储在每个组的单独文件中。Grouped Dataframe:Subset 1:|Ind| C1 | C2 |....| Cn ||-----------------------|| 1 |val1| AE |....|time||-----------------------|| 2 |val2| AE |....|time||-----------------------||...|....| .. |....| ...||-----------------------|| n |valn| AE |....|time|Subset 2|Ind| C1 | C2 |....| Cn ||-----------------------|| 1 |val1| FB |....|time||-----------------------|| 2 |val2| FB |....|time||-----------------------||...|....| .. |....| ...||-----------------------|| n |valn| FB |....|time|and so on.我目前的方法看起来与此类似def my_filter_function(self, df): result = df[df["C1"].notna() & df["Cn"] != 'Some value'] pd.to_csv(...)df = pd.read_csv(...)df.groupby("C2").apply(lambda x: self.my_filter_function(x))我现在的问题是 Pandas 在此处、此处和文档中提到的第一组上调用了两次 apply 方法。所以第一组的文件将被存储两次。有什么办法可以避免这种情况,或者您对另一种方法有什么建议吗?是否可以在应用方法之后保留分组?
添加回答
举报
0/150
提交
取消