Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在框架中,使列表中的列条目分解其项,以便它们分别垂直列出_Python_Pandas - Fatal编程技术网

Python 在框架中,使列表中的列条目分解其项,以便它们分别垂直列出

Python 在框架中,使列表中的列条目分解其项,以便它们分别垂直列出,python,pandas,Python,Pandas,我已经为此工作了几个小时,试图找出如何制作这个json { “方法”:“静态”, “类型”:“IEEE_8023AD”, “dns_搜索_域”:[ “lab.local1”, “lab.local2”, “lab.local3” ], “dns_服务器”:[ "11.12.200.1", "11.12.200.2", "11.12.200.3" ] }您可以将设置索引传递给数据帧构造函数 pd.DataFrame(d).set_index(['method','type']) Out[229]

我已经为此工作了几个小时,试图找出如何制作这个json

{
“方法”:“静态”,
“类型”:“IEEE_8023AD”,
“dns_搜索_域”:[
“lab.local1”,
“lab.local2”,
“lab.local3”
],
“dns_服务器”:[
"11.12.200.1",
"11.12.200.2",
"11.12.200.3"
]

}
您可以将
设置索引传递给数据帧构造函数

pd.DataFrame(d).set_index(['method','type'])
Out[229]: 
                   dns_search_domains  dns_servers
method type                                       
STATIC IEEE_8023AD         lab.local1  11.12.200.1
       IEEE_8023AD         lab.local2  11.12.200.2
       IEEE_8023AD         lab.local3  11.12.200.3

谢谢你的帮助

不幸的是,如果我决定将另一列数据添加到“dns_搜索_域”和“dns_服务器”中,其列表的长度与列的长度不同,则会出现此错误

ValueError: arrays must all be same length

此时,我选择使用pd.Series()手动构建每个列,然后使用pd.concat()连接它们。除非有人有任何其他建议,谢谢你的帮助,朋友们

如果使用熊猫0.25+,你可以在
dns\u搜索\u域
dns\u服务器
栏上使用
explode
。我忘了说,非常感谢您的帮助。
pd.concat([df[[['method','type','dns\u search\u domains']].explode('dns\u search\u domains'),df.dns\u servers.explode()],axis=1)
?谢谢您的帮助。我添加了另一列,其中包含这个emtpy数组“floating_ip_ranges”:[]但现在得到了这个错误值error:数组的长度必须相同:(。