我的工作簿Rule.xlsx
具有以下数据。
sheet1:
group ordercode quantity
0 A 1
B 3
1 C 1
E 2
D 1
表格2:
group ordercode quantity
0 x 1
y 3
1 x 1
y 2
z 1
我使用以下方法创建了数据框。
df1 =data.parse('sheet1')
df2=data.parse('sheet2')
我想要的结果是使用这两个数据帧编写一个序列。
df3:
group ordercode quantity
0 A 1
B 3
0 x 1
y 3
1 C 1
E 2
D 1
1 x 1
y 2
z 1
一个来自df1,另一个来自df2。
我想知道如何通过选择组号(例如,组(0),组(1)等)来打印数据。
有什么建议吗?
答案 0 :(得分:2)
一些评论后的解决方案是:
#create OrderDict of DataFrames
dfs = pd.read_excel('Rule.xlsx', sheet_name=None)
#ordering of DataFrames
order = 'SWC_1380_81,SWC_1382,SWC_1390,SWC_1391,SWM_1380_81'.split(',')
#in loops lookup dictionaries, replace NaNs and create helper column
L = [dfs[x].ffill().assign(g=i) for i, x in enumerate(order)]
#last join together, sorting and last remove helper column
df = pd.concat(L).sort_values(['group','g'])