小编典典

如果熊猫数据框具有超过10行,则将其分成两部分

python

我有一个巨大的CSV文件,其中包含许多行很多的表。我想简单地将每个数据框拆分成2个(如果包含10行以上)。

如果为true,我希望第一个数据框包含前10个,其​​余的包含在第二个数据框中。

有便利的功能吗?我环顾四周,但发现没有什么用处…

split_dataframe(df, 2(if > 10))


阅读 122

收藏
2020-12-20

共1个答案

小编典典

如果满足条件,这将返回拆分的DataFrames,否则返回原始的和None(然后您将需要分别处理)。请注意,这假设拆分仅需每次进行一次,df并且拆分的第二部分(如果长度超过10行(意味着原始长度超过20行))是可以的。

df_new1, df_new2 = df[:10, :], df[10:, :] if len(df) > 10 else df, None

请注意,您也可以根据需要使用df.head(10)df.tail(len(df) - 10)获取正面和背面。您还可以使用各种索引方法:如果需要,您可以仅提供第一个维度索引,例如,df[:10]而不是df[:10, :](尽管我想明确地编写有关所采用的维度的代码)。您也可以以类似的方式使用df.ilocdf.ix编制索引。

df.loc但是,使用时要小心,因为它是基于标签的,并且输入永远不会被解释为整数position.loc仅当您碰巧索引索引是从0开始且没有间隔的整数时,才“偶然地”工作。

但是,您还应该考虑pandas提供的各种选项,这些选项可将DataFrame的内容转储到HTML中,还可以考虑将LaTeX转储到LaTeX中,以便为演示文稿设计更好的表(而不仅仅是复制和粘贴)。只是简单地使用Google搜索方法将DataFrame转换为这些格式,就可以得到很多有关此应用程序的教程和建议。

2020-12-20