pandas dataFrame内的字典



我有一只熊猫DataFrame,叫做d,它看起来像这样:

0      {'energies': [[0, 100, 1, 17.537183749262393, ...
1      {'energies': [[0, 100, 1, 0.5002560191707848, ...
2      {'energies': [[0, 100, 1, 0.833607984160617, 0...
3      {'energies': [[0, 100, 1, 2.0271986592908204, ...
4      {'energies': [[0, 100, 1, 0.20764045065127334,...
...                        
119    {'energies': [[0, 100, 1, 0.6830323011861984, ...
120    {'energies': [[0, 100, 1, 3.9571018617595075, ...
121    {'energies': [[0, 100, 1, 4.815231137572439, 4...
122    {'energies': [[0, 100, 1, 33.556514163996766, ...
123    {'energies': [[0, 100, 1, 5.467475908262811, 5...
Name: results, Length: 124, dtype: object

我如何摆脱字典?已经尝试过d['energies'],但得到这个错误:

Traceback (most recent call last):
File "C:LinearRegresseionEENX15LinearRegression.py", line 15, in <module>
print(d['energies'])
File "C:LinearRegresseionEENX15libsite-packagespandascoreseries.py", line 958, in __getitem__
return self._get_value(key)
File "C:LinearRegresseionEENX15libsite-packagespandascoreseries.py", line 1069, in _get_value
loc = self.index.get_loc(label)
File "C:LinearRegresseionEENX15libsite-packagespandascoreindexesrange.py", line 389, in get_loc
raise KeyError(key)
KeyError: 'energies'

我可以通过使用d[0]['energies']访问单个列表。但是我想对整个数据框架都这样做。

您的问题类似于下面的问题:使用pandas将一列字典拆分/爆炸为单独的列。

Pandas有一个json_normalize()函数,它将字典拆分为自己的列。假设字典列是数据框中的第一列:

df2 = pd.json_normalize(df[0])

相关内容

  • 没有找到相关文章

最新更新