Pandas Dataframe按列值分为单独的csv

问题描述

你好,我的数据集包含4列

x       y     z      s
1      42.8  157.5   1
1      43.8  13.5    1
1      44.8  152     2
         .
         .
         .
4      7528  157.5   2
4      45.8  13.5    3
8      72.8  152     3

我想通过其“ s”列将数据框拆分为单独的csv文件,但我找不到正确的方法

“ s”列具有任意数量标签。我们不知道有多少个1或2的数据集。直到30,但不是每个数字都包含在此数据集中。

我想要的输出是:

df1
x       y     z      s
1      42.8  157.5   1
           .
1      43.8  13.5    1

df2
1      44.8  152     2
           .
4      7528  157.5   2

df3
4      45.8  13.5    3
           .
8      72.8  152     3

在进行此拆分后,我可以轻松地将其写入单独的csv文件。 我遇到的问题是,我不知道我有多少个不同的“ s”值,以及每个值有多少。

谢谢

解决方法

groupby,然后发送到csv以动态执行此操作:

for i,x in df.groupby('s'): x.to_csv(f'df{i}.csv',index=False)