Python 根据指定行数拆分原数据

img

我有左侧最原始的数据,然后根据特定条件将最左侧数据分成了3列,有办法将最左侧数据按照8行,4行,和3行进行截取并形成新的dataframe吗

img


或者形成这个形式也可以

非常感谢

img

这样可以不

直接读取这三列的数据转化为列表然后拼接到一起,最后转化为dataframe,或者你不是有生成这三列数据的代码吗,把这三列的列表数据组合成一个,然后再通过列表转换dataframe转换,例如

import pandas as pd
list1 = [3, 13, 2, 4, 9, 10, 13, 15]
list2 = [13, 4, 6, 8]
list3 = [2, 9, 3]
list1.extend(list2)
list1.extend(list3)
data2 = pd.DataFrame(list1)
print(data2)

使用pandas 的iloc 进行截断,拼接新的dataframe

我没懂你说的三行按什么特定条件分的,下面是我解答的和你类似的问题,按一列累加不超过10进行分类的代码
import pandas as pd

df0 = [1, 2, 4, 2, 3, 5, 13]
splistlist = []
alllist = []
max = 10
for i in range((len(df0))):
obj = df0[i]
if obj <= max:
splistlist.append(obj)
max -= obj
else:
alllist.append(splistlist)
splistlist = []
splistlist.append(obj)
max = 10 - obj
alllist.append(splistlist)

print(alllist)
data2 = pd.DataFrame(alllist)
data2.to_excel('./list.xlsx')

您好,请问这个问题解决了吗?