[英]unpacking of unequal list of lists into a pandas dataframe
我在变量mydata
有以下列表
[
[["item1"], ["2016","value1"], ["2017","value2"], ["2018","value3"], ["2019","value4"]],
[["item2"], ["2016","value1"], ["2017","value2"], ["2018","value3"], ["2019","value4"]],
[["item3"], ["2016","value1"], ["2017","value2"], ["2018","value3"], ["2019","value4"]],
[["item4"], ["2016","value1"], ["2017","value2"], ["2018","value3"], ["2019","value4"]],
]
我一直在尝试将其放入如下所示的数据框中:
index item1 | item2 | item3 | item4
2016 value1 | value1 | value1 | value1
2017 value2 | value2 | value2 | value2
2018 value3 | value3 | value3 | value3
2019 value4 | value4 | value4 | value4
但是,当我尝试DataFrame(mydata)
,它给了我以下结果:
index 0 | 1 | 2 | 3
item1 ["2016","value1"] | ["2017","value2"] | ["2018","value3"] | ["2019","value4"]
item2 ["2016","value1"] | ["2017","value2"] | ["2018","value3"] | ["2019","value4"]
item3 ["2016","value1"] | ["2017","value2"] | ["2018","value3"] | ["2019","value4"]
item4 ["2016","value1"] | ["2017","value2"] | ["2018","value3"] | ["2019","value4"]
我认为这是因为mydata
的性质,其中列表列表分布不均。 但是是否可以按照我指定的方式将其解压缩到数据dataFrame
中? 或者我是否必须创建一个 for 循环来遍历每个元素并将其解压缩到dataFrame
?
首先创建dict
一种方法:
df = pd.DataFrame({l[0][0]:dict(l[1:]) for l in mydata})
print(df)
输出:
item1 item2 item3 item4
2016 value1 value1 value1 value1
2017 value2 value2 value2 value2
2018 value3 value3 value3 value3
2019 value4 value4 value4 value4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.