已经有一个答案可以处理给出here的相对简单的数据框。
但是,我手边的数据框有多列和大量行。一个Dataframe包含沿轴= 0连接的三个数据帧。 (一个的底端连接到下一个的顶部。)它们由一行NaN值分隔。
如何通过沿NaN行拆分来从这一个数据中创建三个数据帧?
答案 0 :(得分:2)
与您链接的答案一样,您想要创建一个标识组号的列。然后您可以应用相同的解决方案。
为此,您必须对行的所有值进行测试NaN
。我不知道pandas
中是否内置了此类测试,但pandas
有一项测试来检查系列是否已满NaN
。所以你想要做的就是在你的数据帧的转置上执行它,这样你的“Series
”实际上是你的行:
df["group_no"] = df.T.isnull().all().cumsum()
此时,您可以使用该答案中的相同技术来拆分数据帧。
您最后可能想要.dropna()
,因为您的结果中仍会有NaN
行。