我已经将一些数据导入到列表的堆叠字典中,其结构如下:
结构1:
{product_name : {category_name : { column_title_1 :[val1,val2,val3], column_title_2 :["string 1","string 2","string 3"], column_title_3 :["string 1a","string 2b","string 3c"] }}}
结构2:
{product_name : { column_title_1 :[val1,val2,val3], column_title_2 :["string 1","string 2","string 3"], column_title_3 :["string 1a","string 2b","string 3c"], "categories" :["category1","category1","category1"]}}}
我想把这本字典导入熊猫,它看起来是这样的:
数据框结构1
--------------------------------column_title_1-----column_title_2-----column_title_3
product_name_1---category 1-----val_1 -----string 1 -----string 1a
--------------------------------val_2 -----string 2 -----string 2b
--------------------------------val_3 -----string 3 -----string 3c
-----------------category 2-----val_4 -----string 4 -----string 4d
--------------------------------val_5 -----string 5 -----string 5e
--------------------------------val_6 -----string 6 -----string 6f
product_name_2---category 1a----val_1 -----string 1 -----string 1a
--------------------------------val_2 -----string 2 -----string 2b
--------------------------------val_3 -----string 3 -----string 3c
-----------------category 2b----val_4 -----string 4 -----string 4d
--------------------------------val_5 -----string 5 -----string 5e
--------------------------------val_6 -----string 6 -----string 6f
也就是说,有一个产品名称和类别的多重索引。你知道吗
或df\ U结构\ U 2
--------------------------------column_title_1-----column_title_2-----column_title_3------category
product_name_1------------------val_1 -----string 1 -----string 1a ------category1
--------------------------------val_2 -----string 2 -----string 2b ------category1
--------------------------------val_3 -----string 3 -----string 3c ------category1
--------------------------------val_4 -----string 4 -----string 4d ------category2
--------------------------------val_5 -----string 5 -----string 5e ------category2
--------------------------------val_6 -----string 6 -----string 6f ------category2
product_name_2------------------val_1 -----string 1 -----string 1a ------category1a
--------------------------------val_2 -----string 2 -----string 2b ------category1a
--------------------------------val_3 -----string 3 -----string 3c ------category1a
--------------------------------val_4 -----string 4 -----string 4d ------category1b
--------------------------------val_5 -----string 5 -----string 5e ------category1b
--------------------------------val_6 -----string 6 -----string 6f ------category1b
我试过了
pd.DataFrame.from_dict(product_dict.items(), orient='index')
还有许多其他的方法,比如遍历字典来构建数据帧。我还没有做任何工作。你知道吗
请帮助我找到一个解决方案,或者至少让我知道在评论中搜索的正确术语。你知道吗
谢谢。你知道吗
据我所知,pandas.DataFrame.from_dict不生成多索引数据帧。另外,在您的例子中,一些字典键是索引,其他的是列,所以您需要自己构建dataframe。你知道吗
您可以使用内部嵌套级别的字典对字典进行迭代以生成数据帧列表,然后使用pandas.concat将它们连接到单个多索引数据帧中。你知道吗
让我们从结构2开始(
ss2
是结构2之后的字典),它更简单:df_list2
是一个数据帧列表,对于每一个数据帧,multindex都已经使用pandas.MultiIndex.from_product准备好了,因此当使用concat
时,结果会自然出现。MultiIndex有两个级别:产品名和具有相同产品名的行的递增整数。你知道吗结构1的逻辑相同(这里
ss1
是字典`),但是这里的迭代更复杂,因为在多索引中有3个级别:产品名称、类别名称和渐进整数。你知道吗相关问题 更多 >
编程相关推荐