我正在寻找一种方法,在索引中的每个重复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