pandas 索引与列相互转化
pandas 索引与列相互转化
·
一、索引转化为列
df['index'] = df.index
import pandas as pd
df = get_price(code, start_date=date, end_date=end_date, frequency='daily',
fields=fields)
df.insert(0, "date", df.index.map(date2str))
print(df)
二、列转化为索引
df.set_index('date')
import datetime
def date2str(date):
return datetime.datetime.strftime(date, "%Y-%m-%d")
fields = [
'date','change_pct','net_amount_main',
'net_pct_main','net_amount_xl','net_pct_xl','net_amount_l','net_pct_l',
'net_amount_m', 'net_pct_m', 'net_amount_s', 'net_pct_s'
]
data = get_money_flow(code, start_date=date, end_date=end_date, fields=fields)
data['date'] = data['date'].map(date2str)
data.set_index('date', inplace=True)
print(data)
reset_index()
df=df.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='')
"""
函数作用:重置索引或其level。重置数据帧的索引,并使用默认索引。
如果数据帧具有多重索引,则此方法可以删除一个或多个level。
参数介绍:
level:可以是int, str, tuple, or list, default None等类型。
作用是只从索引中删除给定级别。默认情况下删除所有级别。
drop:bool, default False。不要尝试在数据帧列中插入索引。
这会将索引重置为默认的整数索引。
inplace:bool, default False。修改数据帧(不要创建新对象)。
col_level:int or str, default=0。如果列有多个级别,则确定将标签插入到哪个级别。
默认情况下,它将插入到第一层。
col_fill:object, default。如果列有多个级别,则确定其他级别的命名方式。
如果没有,则复制索引名称。
返回:
DataFrame or None。具有新索引的数据帧,如果inplace=True,则无索引。
"""
三、参考
更多推荐
已为社区贡献12条内容
所有评论(0)