我的数据是这样的:
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)