Python用不同长度的dict构成DataFrame
程序员文章站
2022-04-06 15:09:25
...
输入的dict,由于匹配之后得到的长度不等,长度可能为0、1、2等等,而最终想要得到的则是一列DataFrame。
输入的dict:
classify_dic = {0: [], 1: ['信用卡'], 2: ['信用卡', '财富金']}
期望输出:
类别
0 []
1 [信用卡]
2 [信用卡, 财富金]
实现方法:
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
import pandas as pd
k = list(classify_dic.keys())
v = list(classify_dic.values())
df = pd.DataFrame(list(zip(k, v)), columns=['行数', '类别'])
classify_df = df.drop(columns='行数')