我想将同一数据集的五行合并为一个数据集,我有700行,我想每五行合并一行
A B C D E F G
1 10,11,12,13,14,15,16
2 17,18,19,20,21,22,23
3 24,25,26,27,28,29,30
4 31,32,33,34,35,36,37
5 38,39,40,41,42,43,44
.
.
.
.
.
700
合并前五行后,第一行应如下所示:
A B C D E F G A B C D E F G A B C D E F G A B C D E F G A B C D E F G
1 10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44
6条答案
按热度按时间kmbjn2e31#
如果可以保证总行数是5的倍数,那么使用
numpy
将是解决这个问题的最有效方法:tquggr8v2#
您可以:
9o685dep3#
看看这是否有助于回答你的问题unstack turns the columns into the rows,并且一旦我们在一个column中有数据,我们只需要它被转置. reset_index makes the resulting series into a dataframe.这原始的columns name被制作成一个索引,所以当我们转置时我们有你在你的columns中陈述的列.
投票和/或如果答案有帮助则接受
vjrehmav4#
最简单的方法是把你的 Dataframe 转换成一个numpy数组,重新整形,然后把它转换回一个新的 Dataframe 。
编辑:
im9ewurl5#
Pandas数据的叠加与解叠加
表格中的数据通常以多种方式呈现。长格式(“整齐数据”)指的是堆叠在两列中的数据。其中一列将包含有关值的分类指示符。相比之下,宽格式(“堆叠数据”)是指每个类别都有自己的列。
在本例中,我们展示了宽格式的数据,并试图将其转换为长格式,pandas.melt、pandas.groupby、pandas.pivot、pandas.stack、pandas.unstack和pandas.reset_index函数可以帮助在这些格式之间进行转换。
从原始 Dataframe 开始:
**使用panda.melt将其转换为长格式,然后排序以获得您所请求的数据:**忽略索引选项帮助我们稍后将其恢复为宽格式。
**使用groupby、unstack和reset_index将其转换回宽格式。**这通常是一个困难得多的过程,它依赖于按值堆栈列、其他列、索引和堆栈变量进行分组,然后取消堆栈并重置索引。
这些东西可能相当困难,需要反复试验。我建议你对你的问题做一个小版本,然后把它们弄乱。这样你就可以弄清楚函数是如何工作的。
c8ib6hqw6#
尝试使用
arange()
和floordiv
每隔5进行分组,然后用这些分组创建一个新的df
。即使df
不能被5整除,这也应该可以工作。或
输出: