如何将 2 个列表的列表转换为 pandas 中的 2 列 df
Posted
技术标签:
【中文标题】如何将 2 个列表的列表转换为 pandas 中的 2 列 df【英文标题】:how to turn a list of 2 lists into a 2 columns df in pandas 【发布时间】:2018-08-17 19:40:26 【问题描述】:我有这个列表(使用 append 函数创建了两次):
['2017-04-03.csv', 108.0, '2017-04-04.csv', -12.0]
(它要长得多,长度也可以)和使用results = pd.DataFrame('col':results)
时
我得到以下信息:
col
0 2017-04-03.csv
1 108
2 2017-04-04.csv
3 -12
我希望得到:
col
2017-04-03.csv 108
2017-04-04.csv -12
我检查了here、here 和here 提供的解决方案,但它们都没有按我的预期/需要工作。 谢谢
【问题讨论】:
您能否提供一些有关如何创建列表的背景信息?根据您现在所做的,可能有比我目前提供给您的更好的解决方案。 【参考方案1】:切片是你的朋友 -
pd.DataFrame(results[1::2], index=results[::2], columns=['col'])
col
2017-04-03.csv 108.0
2017-04-04.csv -12.0
偶数索引元素形成索引,奇数索引元素形成列值。
【讨论】:
如果我有更多的列,比如说 5,我如何使用它来创建一个列拆分? @Giladbi 我认为应该可以用列表理解来概括......如果有意义的话,将 [i::5] 切片为 i in range(1,5)。跨度> 我没有做到这一点。我认为我的熊猫知识很幸运。以上是关于如何将 2 个列表的列表转换为 pandas 中的 2 列 df的主要内容,如果未能解决你的问题,请参考以下文章
使用列表中的标签将 numpy 数组转换为 pandas 数据框