
[英]Pandas Dataframe.groupby() for separate groups of same value
[英]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.