问题描述
你好,我的数据集包含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)