繁体   English   中英

如何从 DataFrame.groupby 中“保存”组以分隔变量?

[英]How do I "save" groups from DataFrame.groupby to separate variables?

我有一个带有 WhatsApp 消息的 DataFrame,我.groupby发送了该消息。 我可以以某种方式将整个 DataFrame 或仅将一个系列拆分并保存到单独的变量中吗?

所以说我有发件人 A、B、C。我可以分别获得 3 个新的数据帧,分别只有发件人 A、B、C 或只有一列的系列,其中发件人曾经是 A、B 或 C?

据我所知,您不能在迭代中动态创建新变量而不明确定义它们。 例如通过:

for sender in senders:
    df_{sender} = df[df["sender"] == sender]

因此,如果要将DataFrame拆分为多个变量,则必须对解决方案进行“硬编码”,其中定义了所有变量。 例如。 df_A = df[df["sender"] == "A"]等。我建议您使用df.groupby("sender")然后进行适当的计算/转换,因为您将只对对象执行一次包含一个发件人。

如果您想将多个DataFrame保存为 CSV 文件,每个发件人一个,您可以尝试:

df.groupby("sender").apply(lambda x: x.to_csv(f"sub_df_{x.name}.csv"))

x.name 是df所在的索引,因此在这种情况下是相应的发件人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM