如何将 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的主要内容,如果未能解决你的问题,请参考以下文章

如何将 csv 字符串转换为 pandas 中的列表?

如何将 csv 字符串转换为 pandas 中的列表?

使用列表中的标签将 numpy 数组转换为 pandas 数据框

将pandas列中的列表列表转换为字符串

如何将 DataFrame 中的每一行/单元格值转换为 pandas 中的字典列表?

将 pandas 列中的列表转换为字符串