嗨,我有一个像下面的python字典数据结构
defaultdict(<function __main__.<lambda>()>,
{'AMZN': [{'improv_sharpe': -4.9719673781114265e-05},
{'stan_sharpe': 0.5995152805688786},
{'prob_sharpe': 1.0159440451398998e-19},
{},
{},
{}],
'GOOGL': [{'improv_sharpe': 2.6114809517957284e-05},
{'stan_sharpe': 0.16322865760123956},
{'prob_sharpe': 6.376598832386561e-72},
{},
{},
{}]})
我如何将上面变成下面的数据框:
AMZN GOOGL
improv_sharpe': -4.9719673781114265e-05 2.6114809517957284e-05
等等
可以使用list和dict理解来解决此问题,就像许多类似的问题一样,但是我找不到确切的重复项。
如果您的示例数据是:
example_data = {'AMZN': [{'improv_sharpe': -4.9719673781114265e-05},
{'stan_sharpe': 0.5995152805688786},
{'prob_sharpe': 1.0159440451398998e-19},
{},
{},
{}],
'GOOGL': [{'improv_sharpe': 2.6114809517957284e-05},
{'stan_sharpe': 0.16322865760123956},
{'prob_sharpe': 6.376598832386561e-72},
{},
{},
{}]
}
然后:
import pandas as pd
pd.DataFrame({comp_nm : # company name is the column name
pd.Series({ # company data is the column vector
k:v for d in comp_data # since your company entries are lists of length one
for k,v in d.items() if d # remove empty {}'s which will throw error
})
# each company is a dict with name as key and list of length one as value
for comp_nm, comp_data in example_data.items()
})
返回:
AMZN GOOGL
improv_sharpe -4.971967e-05 2.611481e-05
stan_sharpe 5.995153e-01 1.632287e-01
prob_sharpe 1.015944e-19 6.376599e-72
您可以在此处了解有关列表,字典和理解的更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句