Привет, я создал словарь из pandas Dataframe финансовых данных. Я пытаюсь получить два указанных c значения из этого фрейма данных в al oop после применения некоторых вычислений и добавить его в новый фрейм данных. Чтобы сделать это в качестве промежуточного шага, я создал новый словарь из кадра данных (портфолио ios), который я добавлю в список. При этом он перечислил индексный номер как дополнительный ключ внутри каждой записи в словаре, ie он создал словарь внутри словаря. Я хочу отбросить этот второй ключ словаря, который в данном случае равен 992. И добавить это значение к внешнему словарному ключу.
note портфель ios - это более крупный Dataframe, из которого я извлек это speci c entry
ниже - заголовок большего портфеля ios dataframe:
portfolios.head()
Returns Volatility MMM Weight ABT Weight ... ADBE Weight AMD Weight AAP Weight AES Weight
0 0.376267 0.221238 0.181285 0.048288 ... 0.113503 0.164995 0.004576 0.040676
1 0.323802 0.193708 0.197259 0.001254 ... 0.162608 0.151378 0.059675 0.096442
2 0.398189 0.224429 0.067056 0.169859 ... 0.142113 0.184807 0.031413 0.027089
3 0.225460 0.172322 0.063022 0.100758 ... 0.075529 0.015270 0.134864 0.136784
4 0.325828 0.212882 0.148907 0.193622 ... 0.022118 0.096442 0.082162 0.004809
Это мой код для захвата и преобразования указанной мне записи c:
list2 = []
GVCindex = portfolios[portfolios['Volatility']==portfolios['Volatility'].min()].index.tolist()
dictGVC = portfolios.loc[GVCindex].to_dict()
list2.append(dictGVC)
fin = pd.DataFrame.from_dict(list2)
Вот как это выглядит в настоящее время:
>>> list2
[{'Returns': {932: 0.14045532455897075}, 'Volatility': {932: 0.1582942016003597}, 'MMM Weight': {932: 0.18494322390344745}, 'ABT Weight': {932: 0.029906861753963284}, 'ABBV Weight': {932: 0.1837038795739978}, 'ABMD Weight': {932: 0.0062650919515888715}, 'ACN Weight': {932: 0.15793314037253936}, 'ATVI Weight': {932: 0.0644399756626248}, 'ADBE Weight': {932: 0.01200620828052462}, 'AMD Weight': {932: 0.024667578415588958}, 'AAP Weight': {932: 0.149085877589782}, 'AES Weight': {932: 0.18704816249594283}}]
Вот как бы я хотел, чтобы это выглядело так:
>>> list2
[{'Returns': 0.14045532455897075, 'Volatility': 0.1582942016003597, 'MMM Weight': 0.18494322390344745, 'ABT Weight': 0.029906861753963284}]
вот готово Фрейм данных:
Этот фрейм данных был создан из большого списка 2, чем в примере выше *
>>> fin.head()
Returns Volatility MMM Weight ... AFL Weight A Weight APD Weight
0 {823: 0.4641212481398529} {823: 0.24708090579365835} {823: 0.03427725029749016} ... NaN NaN NaN
1 {788: 0.47643150225144204} {788: 0.2508983879170438} {788: 0.03386593631658274} ... {788: 0.046989535272586806} NaN NaN
2 {32: 0.45814683192368877} {32: 0.25089789807674673} {32: 0.07310079951400653} ... NaN {32: 0.01274115108933681} NaN
3 {216: 0.47680922654636615} {216: 0.2544050792473164} {216: 0.06114500772292474} ... NaN NaN {216: 0.058250849997334514}
4 {853: 0.45735781176585616} {853: 0.23667403702327827} {853: 0.027942223122145397} ... {853: 0.06445688077317947} NaN NaN
[5 rows x 15 columns]