为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

守着星空守着你 2021-12-26 15:04:03
我试图在一个列下创建两个子列。首先,我从字典创建了一个 DataFrameDestination = ['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)                             BookingDestination    [Milan, London, Vienna, Milan, Mumbai, Paris, ...Revenue     [542, 332, 135, 524, 232, 522, 122, 122]的Destination和Revenue是表示行。如何将两者的每个值与前一个并行写入?未来的目标是添加Users为索引。所以,最终的数据帧将是UserVs的Booking数据,其中Destination与Price值将针对每个用户而异。任何帮助将不胜感激。
查看完整描述

1 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

这个问题有点令人困惑。如果您希望构建一个多索引列的 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


查看完整回答
反对 回复 2021-12-26
  • 1 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信