Python 如何在特定的空间向数据框中引入空行?

Python 如何在特定的空间向数据框中引入空行?,python,pandas,Python,Pandas,我有一个大熊猫数据框,看起来像这样: Repeat Time gene_x indep 1 0 5.776279 0 15 5.874170 0 30 5.755308 0 60 5.846254 0 90 5.631789 0 1

我有一个大熊猫数据框,看起来像这样:

Repeat Time     gene_x        indep                 
1      0     5.776279           0
       15    5.874170           0
       30    5.755308           0
       60    5.846254           0
       90    5.631789           0
       120   5.949003           0
       150   5.795068           0
       180   6.133209           0
2      0     5.620326           0
       15    5.639778           0
       30    5.808577           0
       60    5.821405           0
       90    5.805597           0
       120   5.766372           0
       150   6.041138           0
       180   6.109810           0
3      0     5.791153           0
       15    5.856052           0
       30    5.930233           0
       60    5.633090           0
       90    5.940040           0
       120   5.815974           0
       150   6.026407           0
       180   6.052912           0
Repeat Time     gene_x        indep                 
1      0     5.776279           0
       15    5.874170           0
       30    5.755308           0
       60    5.846254           0
       90    5.631789           0
       120   5.949003           0
       150   5.795068           0
       180   6.133209           0
       NaN   NaN                NaN
2      0     5.620326           0
       15    5.639778           0
       30    5.808577           0
       60    5.821405           0
       90    5.805597           0
       120   5.766372           0
       150   6.041138           0
       180   6.109810           0
       NaN     NaN             NaN
3      0     5.791153           0
       15    5.856052           0
       30    5.930233           0
       60    5.633090           0
       90    5.940040           0
       120   5.815974           0
       150   6.026407           0
       180   6.052912           0
        NaN    NaN              NaN
我需要将这些数据写入文件,每个文件一个基因,重复序列用一个空行隔开。我的方法是在写入文件之前在框架中引入黑线,所以我的问题是如何在每个
180
索引后添加一个空行

(还要注意,
Repeat
Time
都是索引)

生成的帧应如下所示:

Repeat Time     gene_x        indep                 
1      0     5.776279           0
       15    5.874170           0
       30    5.755308           0
       60    5.846254           0
       90    5.631789           0
       120   5.949003           0
       150   5.795068           0
       180   6.133209           0
2      0     5.620326           0
       15    5.639778           0
       30    5.808577           0
       60    5.821405           0
       90    5.805597           0
       120   5.766372           0
       150   6.041138           0
       180   6.109810           0
3      0     5.791153           0
       15    5.856052           0
       30    5.930233           0
       60    5.633090           0
       90    5.940040           0
       120   5.815974           0
       150   6.026407           0
       180   6.052912           0
Repeat Time     gene_x        indep                 
1      0     5.776279           0
       15    5.874170           0
       30    5.755308           0
       60    5.846254           0
       90    5.631789           0
       120   5.949003           0
       150   5.795068           0
       180   6.133209           0
       NaN   NaN                NaN
2      0     5.620326           0
       15    5.639778           0
       30    5.808577           0
       60    5.821405           0
       90    5.805597           0
       120   5.766372           0
       150   6.041138           0
       180   6.109810           0
       NaN     NaN             NaN
3      0     5.791153           0
       15    5.856052           0
       30    5.930233           0
       60    5.633090           0
       90    5.940040           0
       120   5.815974           0
       150   6.026407           0
       180   6.052912           0
        NaN    NaN              NaN
我也愿意接受任何其他方法,任何人都可以建议用额外的空行将这种格式的数据写入文件

提前谢谢

这在一行中起作用

df.append(df.loc[[(1, np.nan), (2, np.nan),(3, np.nan)]]).sort_index()
还有这个

df.append(df.reindex([(1, np.nan), (2, np.nan),(3, np.nan)])).sort_index()
还是这个

mi = pd.MultiIndex.from_product([[1,2,3], [np.nan]])
df.reindex(df.index.append(mi)).sort_index()
您可以创建一个新的多重索引,然后重新索引原始数据帧

time = df.index.get_level_values('Time').unique().tolist() + [np.nan]
repeat = df.index.get_level_values('repeat').unique().tolist()
mi = pd.MultiIndex.from_product([repeat, time], names=['repeat', 'Time'] )
df.reindex(mi)

               gene_x  indep
repeat Time                 
1      0     5.776279    0.0
       15    5.874170    0.0
       30    5.755308    0.0
       60    5.846254    0.0
       90    5.631789    0.0
       120   5.949003    0.0
       150   5.795068    0.0
       180   6.133209    0.0
       NaN        NaN    NaN
2      0     5.620326    0.0
       15    5.639778    0.0
       30    5.808577    0.0
       60    5.821405    0.0
       90    5.805597    0.0
       120   5.766372    0.0
       150   6.041138    0.0
       180   6.109810    0.0
       NaN        NaN    NaN
3      0     5.791153    0.0
       15    5.856052    0.0
       30    5.930233    0.0
       60    5.633090    0.0
       90    5.940040    0.0
       120   5.815974    0.0
       150   6.026407    0.0
       180   6.052912    0.0
       NaN        NaN    NaN

嗨,泰德,这个问题是,我特别需要以我在问题中描述的方式格式化重复。我理解引入空行的想法很奇怪,但这是我工作流程下一阶段所需的格式。谢谢你的建议。