经验 | 嵌套 list 转 dataframe 格式

上周有朋友问了这样的问题:
经验 | 嵌套 list 转 dataframe 格式

一开始看到这个问题,脑海中就很疑惑:数据格式真的有点麻烦,大家在遇到类似的格式时还是尽量转换为二维列表或者 json 格式处理,处理会很方便,效率会提高很多。

好啦,下面就分享下这个麻烦格式的转化吧。跟大家提供下处理思路:

import pandas
a = [
        ["小A", {"2019-12-02": [55], "2019-11-29":[48]}],
        ["小B", {"2019-12-02": [193], "2019-11-29":[160]}]
    ]

# 创建所有时间字典
all_time = {}
for item in a:
    d = item[1]
    for time in d:
        if time not in all_time:
            all_time[time] = []
print(all_time)
# 构造
names = []
for item in a:  # 遍历所有数据
    names.append(item[0])  # 将该条数据的第一项名字加入行索引
    for time in all_time:  # 遍历所有时间
        if time in item[1]:  # 加入该条数据有的时间列
            all_time[time].append(item[1][time])
        else:  # 没有就加为空
            all_time[time].append("None")

print(names, all_time)

p_data = pandas.DataFrame(all_time, index=names)

print(p_data)

运行结果:
经验 | 嵌套 list 转 dataframe 格式