您好,我建立了一个与你类似的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即可
刚好也看到了您在另一个问题中提到的仅保留数值的问题,这是我保存后的结果。