如何使用嵌套字典中的子列创建数据框(多索引)?

我试图在一个列下创建两个子列。首先,我从字典创建了一个 DataFrame


Destination = ['Milan', 'London','Lisbon','Milan','Mumbai', 'Lisbon', 'Porto', 'Lisbon']

Product_Revenue = [542,332,135,524,232, 522, 122, 122]


data_frame = {'Destination' : [i for i in Destination], 

                            'Revenue': [j for j in Product_Revenue]}

pd.DataFrame(data_frame)


其次,我想添加Booking为主列,以便Destination和Revenue成为它的子列。但我得到了Destination并Revenue在索引中,甚至作为列表。


data_frame = {'Booking': {'Destination' : [i for i in Destination], 

                            'Revenue': [j for j in Product_Revenue]}}

pd.DataFrame(data_frame)

                             Booking


Destination    [Milan, London, Vienna, Milan, Mumbai, Paris, ...



Revenue     [542, 332, 135, 524, 232, 522, 122, 122]

的Destination和Revenue是表示行。


如何将两者的每个值与前一个并行写入?


未来的目标是添加Users为索引。所以,最终的数据帧将是UserVs的Booking数据,其中Destination与Price值将针对每个用户而异。


任何帮助将不胜感激。


守着星空守着你
浏览 136回答 1
1回答

慕雪6442864

这个问题有点令人困惑。如果您希望构建一个多索引列的 DF,其中第一级是“预订”,第二级是 [目的地,收入],则键应定义为元组:Destination = ['Milan', 'London','Lisbon','Milan','Mumbai', 'Lisbon', 'Porto', 'Lisbon']Product_Revenue = [542,332,135,524,232, 522, 122, 122]data_frame = {('Booking', 'Destination') : Destination,               ('Booking', 'Revenue'): Product_Revenue}pd.DataFrame(data_frame)输出:BookingDestination Revenue0   Milan   5421   London  3322   Lisbon  1353   Milan   5244   Mumbai  2325   Lisbon  5226   Porto   1227   Lisbon  122
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python