我试图在一个列下创建两个子列。首先,我从字典创建了一个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
作为索引。因此,最终数据帧将是User
与Booking
的数据,其中Destination
和Price
的值对于每个用户而言都是不同的。
任何帮助将不胜感激。
答案 0 :(得分:1)
这个问题有点令人困惑。如果您希望使用第一个级别为“ Booking”且第二个级别为“ [Destination,Revenue]”作为第二级的多索引来构建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)
输出:
Booking
Destination Revenue
0 Milan 542
1 London 332
2 Lisbon 135
3 Milan 524
4 Mumbai 232
5 Lisbon 522
6 Porto 122
7 Lisbon 122