pandas提供了set_index方法可以将DataFrame的列(多列)变成行索引,通过reset_index方法可以将层次化索引的级别会被转移到列里面。

1、DataFrame的set_index方法

    data = pd.DataFrame(np.arange(,).reshape(,),index=["a","b","c"],columns=["A","B","C"])

    print(data)

    '''

       A  B  C

    a      

    b      

    c      

    '''

    #将列索引为B的列变成data的行索引

    print(data.set_index("B"))

    '''

      A  C

    B

    '''

    #获取行索引

    print(data.set_index("B").index)

    #Int64Index([, , ], dtype='int64', name='B')

    #获取列索引

    print(data.set_index("B").columns)

    #Index(['A', 'C'], dtype='object')

    #将列索引为A和C的列变成行索引,层次化索引

    print(data.set_index(["A","C"]))

    '''

         B

    A C

    '''

2、DataFrame的reset_index方法

data = pd.DataFrame(np.arange(,).reshape(,),index=["a","b","c"],columns=["A","B","C"])

    print(data)

    '''

       A  B  C

    a      

    b      

    c      

    '''

    print(data.set_index(["C"]))

    '''

       A  B

    C

    '''

    #相对于data来说行索引从原来的a、b、c变成了0、、

    #在使用set_index方法的时候行索引就已经被修改了

    print(data.set_index(["C"]).reset_index())

    '''

       C  A  B

    '''

    print(data.index)

    #Index(['a', 'b', 'c'], dtype='object')

    print(data.set_index(["C"]).reset_index().index)

    #RangeIndex(start=, stop=, step=)

    print(data.set_index(["C"]).reset_index().columns)

    #Index(['C', 'A', 'B'], dtype='object')

参考:https://blog.csdn.net/sinat_29957455/article/details/79038658

pandas将DataFrame的列变成行索引的更多相关文章

  1. sqlserver 字段内容做in条件 列变成行显示

    sqlserver中 字段内容做in条件用到方法:CHARINDEX(value,situation) 列变行显示用到:stuff 详情自行查找. 例子: stuff((select ','+name ...

  2. Oracle中decode函数 列变成行

    create table t_class(c_Id  number(10) primary key ,stuName varchar2(50),  --人名c_Name varchar2(50),   ...

  3. pandas 对dataframe一列中某些值进行处理

    https://github.com/Bifzivkar/Boutique-Travel-Services-Predict/blob/master/feature/5_extract_feature. ...

  4. Pandas之Dataframe叠加,排序,统计,重新设置索引

    Pandas之Dataframe索引,排序,统计,重新设置索引 一:叠加 import pandas as pd a_list = [df1,df2,df3] add_data = pd.concat ...

  5. pandas取dataframe特定行/列

    1. 按列取.按索引/行取.按特定行列取 import numpy as np from pandas import DataFrame import pandas as pd df=DataFram ...

  6. pandas之DataFrame创建、索引、切片等基础操作

    知识点 Series只有行索引,而DataFrame对象既有行索引,也有列索引 行索引,表明不同行,横向索引,叫index,0轴,axis=0 列索引,表明不同列,纵向索引,叫columns,1轴,a ...

  7. SQL Server如何在变长列上存储索引

    这篇文章我想谈下SQL Server如何在变长列上存储索引.首先我们创建一个包含变长列的表,在上面定义主键,即在上面定义了聚集索引,然后往里面插入80000条记录: -- Create a new t ...

  8. pandas中DataFrame的ix,loc,iloc索引方式的异同

    pandas中DataFrame的ix,loc,iloc索引方式的异同 1.loc: 按照标签索引,范围包括start和end 2.iloc: 在位置上进行索引,不包括end 3.ix: 先在inde ...

  9. python 数据处理学习pandas之DataFrame

    请原谅没有一次写完,本文是自己学习过程中的记录,完善pandas的学习知识,对于现有网上资料的缺少和利用python进行数据分析这本书部分知识的过时,只好以记录的形势来写这篇文章.最如果后续工作定下来 ...

随机推荐

  1. 安装kafka集群

    1解压tar包 tar -zxvf kafka_2.-.tgz 2.进入config目录 3.配置server.properties文件 # Licensed to the Apache Softwa ...

  2. TIMEOUT HANDLING WITH HTTPCLIENT

    https://www.thomaslevesque.com/2018/02/25/better-timeout-handling-with-httpclient/ The problem If yo ...

  3. SpringBoot------thymeleaf的使用

    1.pom.xml添加相应依赖 <dependency> <groupId>org.springframework.boot</groupId> <artif ...

  4. 5 -- Hibernate的基本用法 --2 2 Hibernate的数据库操作

    在所有的ORM框架中有一个非常重要的媒介 : PO(持久化对象:Persistent Object).持久化对象的作用是完成持久化操作,简单地说,通过该对象可对数据执行增.删.改的操作 ------ ...

  5. ios开发之--新手引导页图片适配方案

    1,图片适配,最早以前是自己命名规范,例如@1x,@2x,@3x等,3套图基本上就够用了 2,在iPhone X之后,需要适配的图就多了,因为分辨率增多了,屏幕尺寸也增多了 3,尺寸 :640*960 ...

  6. ios开发之-- 延迟执行方法

    延迟执行的几种方法,分享一下. 1.performSelector(NSObject)方法  2.NSTimer方法  3.GCD方法  4.sleep(NSThread)方法 1.performSe ...

  7. centos7 python3.5中引入sqlite3

    在centos系统中创建Django app,报错如下: django.core.exceptions.ImproperlyConfigured: Error loading either pysql ...

  8. mysql 查询锁表

    1)使用情景“判断通过后写入数据库”,这个一般是不会有问题的, 但并发访问的时候就不太好搞.因为写入(insert)是需要时间的,假设现在有两个并发请求,(假设第一个访问是最后一个符合条件的写入请求, ...

  9. CentOS6.8_64位手动安装MySQL5.6

    1.在CentOS6.8上安装mysql5.6 2.下载编译包 wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35-linu ...

  10. 管理工具 django-admin.py的相关命令列表

    C:\Users\lenovo> django-admin.py Type 'django-admin.py help <subcommand>' for help on a spe ...