怎么将[{'600000': OrderedDict([(2015, 0.0), (2016, 0.0), (2017, 0.0), (2018, 0.0), (2019, 0.0), (2020, 0.0), (2021, 0.0), (2022, 0.0), (2023, 0.0)])}, {'600004': OrderedDict([(2015, 0.03997055099999991), (2016, 0.02631298451065467), (2017, 0.035925996000057525), (2018, -0.1777342689407969), (2019, 0.07802241334324678), (2020, -0.08209428661834395), (2021, -0.05198219075541255), (2022, -0.02884361259267587), (2023, 0.021668885396630255)])}, {'600006': OrderedDict([(2015, 0.044356416999999926), (2016, -0.05611817770829086), (2017, 0.012941511995672617), (2018, -0.06816056764062661), (2019, 0.0456036462124394), (2020, 0.12224707411507274), (2021, -0.1501241283743956), (2022, 0.00019178284152410185), (2023, -0.038856515951685155)])}]转换成DataFrame格式?
时间: 2023-05-20 18:04:47 浏览: 39
可以使用 pandas 库中的 DataFrame 函数将该列表转换为 DataFrame 格式,具体代码如下:
```python
import pandas as pd
data = [{'600000': OrderedDict([(2015, 0.0), (2016, 0.0), (2017, 0.0), (2018, 0.0), (2019, 0.0), (2020, 0.0), (2021, 0.0), (2022, 0.0), (2023, 0.0)])}, {'600004': OrderedDict([(2015, 0.03997055099999991), (2016, 0.02631298451065467), (2017, 0.035925996000057525), (2018, -0.1777342689407969), (2019, 0.07802241334324678), (2020, -0.08209428661834395), (2021, -0.05198219075541255), (2022, -0.02884361259267587), (2023, 0.021668885396630255)])}, {'600006': OrderedDict([(2015, 0.044356416999999926), (2016, -0.05611817770829086), (2017, 0.012941511995672617), (2018, -0.06816056764062661), (2019, 0.0456036462124394), (2020, 0.12224707411507274), (2021, -0.1501241283743956), (2022, 0.00019178284152410185), (2023, -0.038856515951685155)])}]
df = pd.DataFrame.from_dict({(i,j): data[i][j][k] for i in range(len(data)) for j in data[i].keys() for k in data[i][j].keys()}, orient='index', columns=['value'])
df.index.names = ['index', 'code', 'year']
df.reset_index(inplace=True)
```
其中,`data` 是原始数据列表,`df` 是转换后的 DataFrame 格式数据。