pandas将DataFrame的列变成行索引
2018-01-11 21:50
459 查看
pandas提供了set_index方法可以将DataFrame的列(多列)变成行索引,通过reset_index方法可以将层次化索引的级别会被转移到列里面。
[b]1、DataFrame的set_index方法[/b]
data = pd.DataFrame(np.arange(1,10).reshape(3,3),index=["a","b","c"],columns=["A","B","C"])
print(data)
'''
A B C
a 1 2 3
b 4 5 6
c 7 8 9
'''
#将列索引为B的列变成data的行索引
print(data.set_index("B"))
'''
A C
B
2 1 3
5 4 6
8 7 9
'''
#获取行索引
print(data.set_index("B").index)
#Int64Index([2, 5, 8], 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
1 3 2
4 6 5
7 9 8
'''
[b]2、DataFrame的reset_index方法[/b]
data = pd.DataFrame(np.arange(1,10).reshape(3,3),index=["a","b","c"],columns=["A","B","C"])
print(data)
'''
A B C
a 1 2 3
b 4 5 6
c 7 8 9
'''
print(data.set_index(["C"]))
'''
A B
C
3 1 2
6 4 5
9 7 8
'''
#相对于data来说行索引从原来的a、b、c变成了0、1、2
#在使用set_index方法的时候行索引就已经被修改了
print(data.set_index(["C"]).reset_index())
'''
C A B
0 3 1 2
1 6 4 5
2 9 7 8
'''
print(data.index)
#Index(['a', 'b', 'c'], dtype='object')
print(data.set_index(["C"]).reset_index().index)
#RangeIndex(start=0, stop=3, step=1)
print(data.set_index(["C"]).reset_index().columns)
#Index(['C', 'A', 'B'], dtype='object')
[b]1、DataFrame的set_index方法[/b]
data = pd.DataFrame(np.arange(1,10).reshape(3,3),index=["a","b","c"],columns=["A","B","C"])
print(data)
'''
A B C
a 1 2 3
b 4 5 6
c 7 8 9
'''
#将列索引为B的列变成data的行索引
print(data.set_index("B"))
'''
A C
B
2 1 3
5 4 6
8 7 9
'''
#获取行索引
print(data.set_index("B").index)
#Int64Index([2, 5, 8], 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
1 3 2
4 6 5
7 9 8
'''
[b]2、DataFrame的reset_index方法[/b]
data = pd.DataFrame(np.arange(1,10).reshape(3,3),index=["a","b","c"],columns=["A","B","C"])
print(data)
'''
A B C
a 1 2 3
b 4 5 6
c 7 8 9
'''
print(data.set_index(["C"]))
'''
A B
C
3 1 2
6 4 5
9 7 8
'''
#相对于data来说行索引从原来的a、b、c变成了0、1、2
#在使用set_index方法的时候行索引就已经被修改了
print(data.set_index(["C"]).reset_index())
'''
C A B
0 3 1 2
1 6 4 5
2 9 7 8
'''
print(data.index)
#Index(['a', 'b', 'c'], dtype='object')
print(data.set_index(["C"]).reset_index().index)
#RangeIndex(start=0, stop=3, step=1)
print(data.set_index(["C"]).reset_index().columns)
#Index(['C', 'A', 'B'], dtype='object')
相关文章推荐
- pandas将DataFrame的列变成行索引的方法
- pandas.dataframe中根据条件获取元素所在的位置(索引)
- pandas.DataFrame 的操作简单经验(创建,索引,增添,删除)
- Pandas —— set_index( )将DataFrame的列转换为行索引
- pandas.dataframe中根据条件获取元素所在的位置方法(索引)
- Python pandas.DataFrame在用ix, loc, iloc 索引的时候就相当于拷贝copy了一个对象
- 在Python中pandas.DataFrame重置索引名称的实例
- pandas.DataFrame.unstack
- python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix
- Python pandas读取csv文件直接转化成二维列表(Dataframe转化为list)
- python实现在pandas.DataFrame添加一行
- python pandas dataframe 行列选择,切片操作方法
- pandas.DataFrame.append
- pandas 学习(2): pandas 数据结构之DataFrame
- Pandas 合并多个Dataframe(merge,concat)的方法
- Pandas DataFrame 函数方法
- pandas 将list切分后存入DataFrame中的实例
- python pandas dataframe 多个变量的筛选
- pandas.DataFrame.prod()
- 使用sqlalchemy包将pandas的DataFrame数据写入MySQL数据库