小编PAR*_*MAR的帖子

pd.DataFrame(data, columns=[])。如何传递带有嵌套字典的数据?

我的数据是这样的:

data = {'Sr.No.': Sr_no,
        'CompanyNames': Company_Names,
        'YourChoice1': ['45','45','45','45','45','45','45','45','45'],
        'YourChoice2': ['45','45','45','45','45','45','45','45','45'],
        'Bollinger Bands': {'Field1': ['45','45','45','45','45','45','45','45'],
                            'Field2': ['45','45','45','45','45','45','45','45'],
                            'Field3':['45','45','45','45','45','45','45','45']}
                           }
Run Code Online (Sandbox Code Playgroud)

我将其传递给数据框:

df = pd.DataFrame(data, columns = ['Sr.No.','CompanyNames','YourChoice1','YourChoice2','Bollinger Bands'])
Run Code Online (Sandbox Code Playgroud)

但我收到的错误是:

ValueError:将 dicts 与非系列混合可能会导致排序不明确。

谁能帮我这个?

CSV 文件应如下所示:

在此处输入图片说明

我尝试了这样的第一个解决方案:

df1 = pd.DataFrame(data, columns = ['Sr.No.', 'CompanyNames','YourChoice1','YourChoice2'])
bbands = data.pop('Bollinger Bands')
df2 = pd.DataFrame(bbands)

df = pd.concat([df1, df2], axis=1, keys=['','Bollinger Bands'])
Run Code Online (Sandbox Code Playgroud)

但我获得的输出为:

在此处输入图片说明

我希望“布林带”应该只出现在第一列中,而不是全部......”

所需的输出是:

 |      |     |     |     |Bollinger Bands|        |        |
 |Sr.No.|Comp |     |     |Field1         |Field2  |Field3  |
Run Code Online (Sandbox Code Playgroud)

python python-3.x pandas

5
推荐指数
1
解决办法
2980
查看次数

标签 统计

pandas ×1

python ×1

python-3.x ×1