weixin_40473525 2019-08-01 17:49 采纳率: 66.7%
浏览 7783
已采纳

dataframe将某列数据变为column索引

有这样一个dataframe
图片说明
能够发现是多只不同code股票在固定几个日期取出来的值列表,现在,我想把表格的构造改变一下,改编后的样子是:
code /date 2017-09-30 2017-12-31 2018-03-31 .......
000032 ssss sssss ssss
000063
000070
.....
第三列total_owner_equity直接填充到表里就好了,请问怎么实现?

  • 写回答

2条回答 默认 最新

  • Edward_LA 2019-08-02 12:24
    关注

    您好,我建立了一个与你类似的DataFrame,大致的与您对应一下,希望能够帮到您。为了对应您后续补充的问题,其中2019-03-01和2018-06-30是各有一个股票无数据的。

    我的数据
    图片说明

    代码部分

    # Import
    import pandas as pd
    
    # Specify Info
    data = pd.read_csv('data.csv')
    data = data.sort_values(by=['report_date','code'])
    col=['code']
    col.extend(data.report_date.unique().tolist())
    result = pd.DataFrame(columns=col)
    
    # Major
    result['code']=data.code.unique().tolist()
    for i in data.report_date.unique().tolist():
        tmp = data.loc[data['report_date']==i]
        list=[]
        for j in data.code.unique().tolist():
            a=tmp.loc[tmp['code']==j]['total_owner_equities'].to_list()
            if len(a)==0:
                a.append('NA')
            list.extend(a)
        result[i]=list
    result.to_csv('test.csv')
    

    结果部分
    图片说明

    某只股票某个日期若无数据会补充为‘NA’,后续如果不想要dropna即可

    刚好也看到了您在另一个问题中提到的仅保留数值的问题,这是我保存后的结果。

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?