我想遵循以下规则,仅用代码构建一个3,000行长的数据框(到目前为止,我是从XLS导入文档的):
航班编号:我想在另一个更简单的数据框中定义编号。航班号保持不变24次(请参阅出发时间)。数据框如下所示:
df = pd.DataFrame({'Flight Number':['LX2104','LX2105','LX2320','LX2321','LX1232','LX1232'],
'Leg Route': ['GVA-AGP','GVA-AGP','GVA-AJA','GVA-AJA','GVA-ARN','GVA-ARN']})
'Leg Flight Pair': ['LX2104/2105','LX2104/2105','LX2320/2321','LX2320/2321','LX1232/1233','LX1232/1233']})
STD出发地:从-到23(-,1、2、3、4、5、6、7、8、9、10、11、12、13、14、15, 16,17,18,19,20,21,22,23) 航段路线:类似于航班号,这也将在数据框中定义(上面的df) 航段飞行对:类似于航班号和航段路线,这也将在数据框中定义(上面的df) 产品:我会在列表中列出产品名称
答案 0 :(得分:3)
df = pd.DataFrame({
'Flight Number':['LX2104','LX2105','LX2320','LX2321','LX1232','LX1232'],
'Leg Route': ['GVA-AGP','GVA-AGP','GVA-AJA','GVA-AJA','GVA-ARN','GVA-ARN'],
'Leg Flight Pair': ['LX2104/2105','LX2104/2105','LX2320/2321','LX2320/2321','LX1232/1233','LX1232/1233']
})
n_flights = len(df)
df = pd.concat([df]*24).sort_values('Flight Number').reset_index(drop=True)
df['STD Departure'] = np.tile(np.arange(24), n_flights)
cols = ['Prod1', 'Prod2']
for col in cols:
df[col] = 0
输出
>>> df.head()
Flight Number Leg Flight Pair Leg Route STD Departure Prod1 Prod2
0 LX1232 LX1232/1233 GVA-ARN 0 0 0
1 LX1232 LX1232/1233 GVA-ARN 1 0 0
2 LX1232 LX1232/1233 GVA-ARN 2 0 0
3 LX1232 LX1232/1233 GVA-ARN 3 0 0
4 LX1232 LX1232/1233 GVA-ARN 4 0 0