python - 将复杂列表转换为数据框表,第一个值作为第二列标题
问题描述
我正在尝试将以下列表转换为如下所示的表格。
列表:
val_list = [['ALPHA01', [[1573582200000, 96.96746826171875], [1573582260000, 97.45691935221355], [1573582320000, 97.4244893391927], [1573582380000, 97.32177734375], [1573582440000, None], [1573582500000, None]]], ['BETA01', [[1573582200000, 89.6187235514323], [1573582260000, 90.69141642252605], [1573582320000, 90.83389282226562], [1573582380000, 90.83180745442708], [1573582440000, 90.72371419270833], [1573582500000, None]]], ['ALPHA02', [[1573582200000, 96.67467244466145], [1573582260000, 97.1467997233073], [1573582320000, 97.23036702473958], [1573582380000, 97.26894124348958], [1573582440000, None], [1573582500000, None]]], ['BETA02', [[1573582200000, 90.92616780598958], [1573582260000, 91.39727783203125], [1573582320000, 91.28725179036458], [1573582380000, 91.39530436197917], [1573582440000, 91.26514689127605], [1573582500000, None]]]]
所需的表格格式
TimeStamp ALPHA01 BETA01 ALPHA02 BETA02
1573582200000 96.96746826 89.61872355 96.67467244 90.92616781
1573582260000 97.45691935 90.69141642 97.14679972 91.39727783
1573582320000 97.42448934 90.83389282 97.23036702 91.28725179
1573582380000 97.32177734 90.83180745 97.26894124 91.39530436
1573582440000 None 90.72371419 None 91.26514689
1573582500000 None None None None
我在获得上述表格格式方面没有取得多大成功。
这就是我所做的
df = pd.DataFrame(val_list, columns =['value1','Value2'])
print(df)
输出:
value1 Value2
0 PRODLMS1 [[1573582200000, 96.96746826171875], [15735822...
1 PRODCAS1 [[1573582200000, 89.6187235514323], [157358226...
2 PRODLMS2 [[1573582200000, 96.67467244466145], [15735822...
3 PRODCAS2 [[1573582200000, 90.92616780598958], [15735822...
解决方案
我认为你可以做一个简单的循环:
pd.concat([pd.DataFrame(x[1])
.set_index(0)
.rename(columns={1:x[0]})
for x in val_list],
axis=1
)
输出:
ALPHA01 BETA01 ALPHA02 BETA02
0
1573582200000 96.967468 89.618724 96.674672 90.926168
1573582260000 97.456919 90.691416 97.146800 91.397278
1573582320000 97.424489 90.833893 97.230367 91.287252
1573582380000 97.321777 90.831807 97.268941 91.395304
1573582440000 NaN 90.723714 NaN 91.265147
1573582500000 NaN NaN NaN NaN
推荐阅读
- javascript - 我的 setInterval 时间似乎不起作用
- html - 在表格单元格元素中创建垂直间隙
- android - 将布局转换为图像(布局截图)并存储在 Android 中
- python - 编码特殊字符以传递到 URL
- react-native - 如何从 Deco IDE 连接到我的 React Native 应用程序?
- graph - 如何在 Neo4J/Cypher 中对匹配的结果进行分组
- css - 如何使用 CSS sprites 制作图片链接
- python-3.x - Pandas groupby,执行操作,将结果添加到所述 groupby 数据框中的列
- javascript - 返回索引处第一项的内容
- swift - 尝试在闭包中使用泛型类型时出现意外的编译器错误