我有一个1.数据帧证券交易委员会报告的多个股票和期间。你知道吗
DF的可复制dict:
{'Unnamed: 0': {0: 0, 1: 1, 2: 2, 3: 3, 4: 4},
'field': {0: 'taxonomyid',
1: 'cik',
2: 'companyname',
3: 'entityid',
4: 'primaryexchange'},
'value': {0: '50',
1: '0000023217',
2: 'CONAGRA BRANDS INC.',
3: '6976',
4: 'NYSE'},
'ticker': {0: 'CAG', 1: 'CAG', 2: 'CAG', 3: 'CAG', 4: 'CAG'},
'cik': {0: 23217, 1: 23217, 2: 23217, 3: 23217, 4: 23217},
'dcn': {0: '0000023217-18-000009',
1: '0000023217-18-000009',
2: '0000023217-18-000009',
3: '0000023217-18-000009',
4: '0000023217-18-000009'},
'fiscalyear': {0: 2019, 1: 2019, 2: 2019, 3: 2019, 4: 2019},
'fiscalquarter': {0: 1, 1: 1, 2: 1, 3: 1, 4: 1},
'receiveddate': {0: '10/2/2018',
1: '10/2/2018',
2: '10/2/2018',
3: '10/2/2018',
4: '10/2/2018'},
'periodenddate': {0: '8/26/2018',
1: '8/26/2018',
2: '8/26/2018',
3: '8/26/2018',
4: '8/26/2018'}}
“field”列包含报告字段(例如指标)的名称,“value”列包含该指标的值。其他列是对美国证券交易委员会备案的描述(股票代码+日期+会计期间=描述特定备案的独特特征集)。每个文件大约有60-70个指标(数量不同)。你知道吗
通过下面的代码,我成功地创建了一个pivot dataframe,columns=features(假设提交1次的总次数为N)。但是这个数据帧的长度也等于指示符的数量=N,其中NaN位于非对角线的位置。你知道吗
# Adf - Initial dataframe
c = Adf.pivot(columns='field', values='value')
d = Adf[['ticker','cik','fiscalyear','fiscalquarter','dcn','receiveddate','periodenddate']]
e = pd.concat([d, c], sort=False, axis=1)
我想使用“field”中的指示符名称作为新列(从窄格式到宽格式)。最后,我想有一个数据帧,每个SEC报告有一行。 因此,所提供示例的预期输出是一个具有N个新列的1行数据帧,其中N=来自初始数据帧的“field”列的唯一指示符的数量:
{'ticker': {0: 'CAG'},
'cik': {0: 23217},
'dcn': {0: '0000023217-18-000009'},
'fiscalyear': {0: 2019},
'fiscalquarter': {0: 1},
'receiveddate': {0: '10/2/2018'},
'periodenddate': {0: '8/26/2018'},
'taxonomyid':{0:'50'},
'cik': {0: '0000023217}',
'companyname':{0: 'CONAGRA BRANDS INC.'},
'entityid':{0:'6976'},
'primaryexchange': {0:'NYSE'},
}
从多个NaN中创建这样的列的正确方法是什么,或者从多个NaN中清除生成的数据帧的正确方法是什么?你知道吗
对我起作用的是将新索引设置为DF并取消“field”和“value”列的堆叠
相关问题 更多 >
编程相关推荐