在数据帧索引中的重复0处进行拆分,并将数据帧保存为单独的CSVS



我正在寻找一种方法,在索引中的每个重复0处拆分以下示例数据帧,然后将拆分前的信息保存到csv中。

index ID Col1 Col2
0    0   a    b
1    1   c    d
2    2   e    f
0    0   g    h
1    1   i    j
2    2   k    l
0    0   m    n
1    1   o    p 
2    2   q    r 

我试过用groupby,但我只是把0和1组合在一起,等等。

我的目标是像一样分割数据帧

index ID Col1 Col2
0   0   a    b
1   1   c    d 
2   2   e    f
index ID Col1 Col2
0   0   g    h
1   1   i    j
2   2   k    l

等等。并保存到单独的数据帧和csv中。

假设"索引";是一列:

group = df['index'].eq(0).groupby(df['index']).cumcount()
for name, d in df.groupby(group):
print(f'dataframe {name}')
print(d) # to save: d.to_csv(f'df_{name}.csv')

输出:

dataframe 0
index  ID Col1 Col2
0      0   0    a    b
1      1   1    c    d
2      2   2    e    f
dataframe 1
index  ID Col1 Col2
3      0   0    g    h
4      1   1    i    j
5      2   2    k    l
dataframe 2
index  ID Col1 Col2
6      0   0    m    n
7      1   1    o    p
8      2   2    q    r

如果";索引";是索引:

group = df.index.to_series().eq(0).groupby(df.index).cumcount()
for name, d in df.groupby(group):
print(f'dataframe {name}')
print(d)

输出:

dataframe 0
ID Col1 Col2
index              
0       0    a    b
1       1    c    d
2       2    e    f
dataframe 1
ID Col1 Col2
index              
0       0    g    h
1       1    i    j
2       2    k    l
dataframe 2
ID Col1 Col2
index              
0       0    m    n
1       1    o    p
2       2    q    r

最新更新