pandas 索引与列相互转化

简介:

1. 准备数据


import pandas as pd
from io import StringIO


csv_txt = '''"date","player1","player2","score1","score2"
"2017-06-05","张继科","林思远",3,2
"2017-06-06","丁宁","刘思文",3,0
"2017-06-07","马琳","樊振东",2,3
"2017-06-08","张燕","丁宁",0,3
"2017-06-09","张继科","马琳",3,2
"2017-06-10","刘思文","张燕",4,1
"2017-06-11","马琳","林思远",3,2
'''

#df = pd.read_csv(StringIO(csv_txt), header=0, index_col="date") # 以 date 作为 index

df = pd.read_csv(StringIO(csv_txt), header=0) # 默认 index

2. 列 ——> 索引

  • df.set_index('date')
df.set_index('date', inplace=True) # column 改为 index

3. 索引 ——> 列

  • df['index'] = df.index
  • df.reset_index(level=0, inplace=True)
  • df.reset_index(level=['tick', 'obs'])
  • df['si_name'] = df.index.get_level_values('si_name') # where si_name is the name of the subindex.
df.reset_index() # (all)index 改为 column
#df.reset_index(level=0, inplace=True) # (the first)index 改为 column
本文转自罗兵博客园博客,原文链接:http://www.cnblogs.com/hhh5460/p/7067928.html ,如需转载请自行联系原作者
相关文章
|
索引 Python
Python 教程之 Pandas(5)—— Pandas 中的布尔索引
Python 教程之 Pandas(5)—— Pandas 中的布尔索引
166 1
Python 教程之 Pandas(5)—— Pandas 中的布尔索引
|
索引 Python
Python 教程之 Pandas(11)—— 索引和选择 series 的数据
Python 教程之 Pandas(11)—— 索引和选择 series 的数据
133 0
Python 教程之 Pandas(11)—— 索引和选择 series 的数据
|
索引 Python
Python 教程之 Pandas(4)—— 使用 Pandas 索引和选择数据
Python 教程之 Pandas(4)—— 使用 Pandas 索引和选择数据
143 1
Python 教程之 Pandas(4)—— 使用 Pandas 索引和选择数据
|
7月前
|
数据挖掘 数据处理 索引
Pandas数据重命名:列名与索引为标题
Pandas 是强大的数据分析工具,支持灵活的数据结构和操作。本文介绍如何使用 Pandas 对 `DataFrame` 的列名和索引进行重命名,包括直接赋值法、`rename()` 方法及索引修改。通过代码示例展示了具体操作,并讨论了常见问题如名称冲突、数据类型不匹配及 `inplace` 参数的使用。掌握这些技巧可使数据更清晰易懂,便于后续分析。
304 29
|
SQL 数据采集 数据可视化
使用Python Pandas实现两表对应列相加(即使表头不同)
使用Python Pandas实现两表对应列相加(即使表头不同)
367 3
|
数据采集 数据可视化 数据挖掘
使用Pandas对Data列进行基于顺序的分组排列
使用Pandas对Data列进行基于顺序的分组排列
182 0
|
11月前
|
索引 Python
Pandas 中的重新索引
【8月更文挑战第30天】
194 1
|
10月前
|
数据采集 数据挖掘 数据处理
如何在Pandas中将索引(index)转换为数据列
如何在Pandas中将索引(index)转换为数据列
806 0
|
Python
【Python】已解决:(pandas读取DataFrame列报错)raise KeyError(key) from err KeyError: (‘name‘, ‘age‘)
【Python】已解决:(pandas读取DataFrame列报错)raise KeyError(key) from err KeyError: (‘name‘, ‘age‘)
1196 0
|
索引 Python
Pandas 高级教程——多级索引
Pandas 高级教程——多级索引
227 1