首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从.tsv文件创建层次索引(熊猫)

从.tsv文件创建层次索引(熊猫)
EN

Stack Overflow用户
提问于 2016-06-20 21:01:57
回答 1查看 254关注 0票数 1

我有一个这种形状的数据框架(不是实际的):

水果香蕉之家-1 15

香蕉果馆-2 4

水果苹果屋-2 6

水果苹果屋-2 8

蔬菜花椰菜馆-3 8

蔬菜生菜馆-4 12

蔬菜辣椒馆-5 3

蔬菜玉米房-4 4

调味品橄榄油屋-6 2

调味醋屋-7 2

我想知道是否有一种方法可以在Pandas中创建一个具有这两个层次的层次索引的数据框架:食物类型、食物类型。然后给每个人分配一个地点和一个金额。我不能手动完成这个操作,因为实际的数据集有超过6万行。我想到的一种方法是从tsv文件中创建一个列表,然后使用它作为索引,但我认为还有一种更自动的方法。提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-20 21:27:54

试试这个:

代码语言:javascript
运行
复制
In [11]: df
Out[11]:
        Type       Food      Loc  Num
0      Fruit     Banana  House-1   15
1      Fruit     Banana  House-2    4
2      Fruit      Apple  House-2    6
3      Fruit      Apple  House-2    8
4  Vegetable   Broccoli  House-3    8
5  Vegetable    Lettuce  House-4   12
6  Vegetable    Peppers  House-5    3
7  Vegetable       Corn  House-4    4
8  Seasoning  Olive Oil  House-6    2
9  Seasoning    Vinegar  House-7    2

In [13]: df = df.set_index(['Type','Food'])

In [14]: df
Out[14]:
                         Loc  Num
Type      Food
Fruit     Banana     House-1   15
          Banana     House-2    4
          Apple      House-2    6
          Apple      House-2    8
Vegetable Broccoli   House-3    8
          Lettuce    House-4   12
          Peppers    House-5    3
          Corn       House-4    4
Seasoning Olive Oil  House-6    2
          Vinegar    House-7    2

顺便说一句,当你读取你的TSV/CSV文件时,你可以在“飞行中”这样做:

代码语言:javascript
运行
复制
df = pd.read_csv(filename, sep='\t', header=None,
                 columns=['Type','Food','Loc','Num'],
                 index_col=['Type','Food'])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37931760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档