首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每第n行对Pandas DataFrame进行切片

每第n行对Pandas DataFrame进行切片
EN

Stack Overflow用户
提问于 2021-01-18 03:52:34
回答 1查看 162关注 0票数 1

我有一个CSV文件,我是以pandas DataFrame的形式读取的。我希望在每第n行之后对数据进行切片,并将其存储为单独的CSV。

我的数据看起来有点像这样:

代码语言:javascript
复制
index,acce_x,acce_y,acce_z,grav_x,grav_y,grav_z
0,-2.53406373,6.92596131,4.499464420000001,-2.8623820449999995,7.850541115,5.129520459999999
1,-2.3442032099999994,6.878311170000001,5.546690349999999,-2.6456542850000004,7.58022081,5.62603916
2,-1.8804458600000005,6.775125179999999,6.566146829999999,-2.336306185,7.321197125,6.088656729999999
3,-1.7059021099999998,6.650866649999999,7.07060242,-2.1012737650000006,7.1111130000000005,6.416324900000001
4,-1.6802886999999995,6.699703990000001,7.15823367,-1.938001715,6.976289879999999,6.613534820000001
5,-1.6156433,6.871610960000001,7.13333286,-1.81060772,6.901037819999999,6.72789553
6,-1.67286072,7.005918899999999,7.22047422,-1.722352455,6.848503825,6.8044359100000005
7,-1.56608278,7.136883599999999,7.150566069999999,-1.647941205,6.821055315,6.850329440000001
8,-1.3831649899999998,7.2735946999999985,6.88074028,-1.578703155,6.821634375,6.866061665000001
9,-1.25986478,7.379898050000001,6.590330490000001,-1.5190086099999998,6.839881785,6.861375744999999
10,-1.1101097050000002,7.48500525,6.287461959999999,-1.4641099750000002,6.870566649999999,6.842625039999999

例如,我想在第5行之后对其进行切片,并将索引为1-4和5-9的行分别存储在单个CSV中(因此在本例中我将获得2个新的CSV),第10行应该被丢弃。一个问题是,我必须将其应用于多个长度不同的文件,以及命名新创建的CSV。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-18 03:55:52

您可以使用for循环来完成此操作:

代码语言:javascript
复制
for i in range(round(len(df)/5)): #This ensures all rows are captured
   df.loc[i*5:(i+1)*5,:].to_csv('Stored_files_'+str(i)+'.csv')

因此,在第一次迭代中,第0到5行的名称为"Stored_files_0.csv“,第二次迭代的第5到10行的名称为"Stored_files_1.csv”,依此类推……

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65765271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档