【问题标题】:how to turn a list of 2 lists into a 2 columns df in pandas如何将 2 个列表的列表转换为 pandas 中的 2 列 df
【发布时间】: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

我检查了hereherehere 提供的解决方案,但它们都没有按我的预期/需要工作。 谢谢

【问题讨论】:

  • 您能否提供一些有关如何创建列表的背景信息?根据您现在所做的,可能有比我目前提供给您的更好的解决方案。

标签: python pandas


【解决方案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)。跨度>
  • 我没有做到这一点。我认为我的熊猫知识很幸运。
猜你喜欢
  • 1970-01-01
  • 2021-06-09
  • 1970-01-01
  • 2019-12-31
  • 2020-09-11
  • 1970-01-01
  • 2019-05-30
  • 2021-04-27
  • 2017-03-29
相关资源
最近更新 更多