一、索引转化为列

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,则无索引。

"""

三、参考

Pandas reset_index()用法总结

Pandas.DataFrame,重置Series的索引index(reset_index)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐