Python将不一致的列表转置/转换为DataFrame
Posted
技术标签:
【中文标题】Python将不一致的列表转置/转换为DataFrame【英文标题】:Python transpose/convert inconsistent lists into DataFrame 【发布时间】:2021-01-08 10:56:42 【问题描述】:我已经解析了一个 xml 文档并得到如下值:
row_list = [0, 0, 0, 1, 1, 2, 2, 2, 2]
col_list = ['col1', 'col2', 'col3', 'col1', 'col4', 'col2', 'col3', 'col5', 'col6']
values_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
整组列由大约 100 个元素组成,如您所见,结构不一致。您能否建议如何将这些列表转换为 DataFrame,将特定值分配给如下所示的行和列:
谢谢
【问题讨论】:
这能回答你的问题吗? Convert List to Pandas Dataframe Column 这与问题完全无关@ZarakiKenpachi 不要忘记熊猫相关问题的 pandas 标签@jabba(添加) 【参考方案1】:row_list = [0, 0, 0, 1, 1, 2, 2, 2, 2]
col_list = ['col1', 'col2', 'col3', 'col1', 'col4', 'col2', 'col3', 'col5', 'col6']
values_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
out =
for r, c, v in zip(row_list, col_list, values_list):
out.setdefault(r, )[c] = v
print(pd.DataFrame('id': k, **v for k, v in out.items()).set_index('id').fillna(0))
打印:
col1 col2 col3 col4 col5 col6
id
0 1.0 2.0 3.0 0.0 0.0 0.0
1 4.0 0.0 0.0 5.0 0.0 0.0
2 0.0 6.0 7.0 0.0 8.0 9.0
【讨论】:
以上是关于Python将不一致的列表转置/转换为DataFrame的主要内容,如果未能解决你的问题,请参考以下文章