【问题标题】:List of Lists - Separating tuple to use only specific lists in pandas dataframe列表列表 - 分隔元组以仅使用熊猫数据框中的特定列表
【发布时间】:2021-04-24 01:03:57
【问题描述】:

我有一个返回列表列表的函数(见下图)。第一个列表是标识号。其余列表标识一个项目,然后标识与该项目相关的值。我要做的是获取除 list[0] 之外的所有列表并将它们放在熊猫数据框中。我知道如何获取整个列表并创建一个 df。

data = lists
df = pd.DataFrame(data)

谁能帮我制作一个减去第一个列表的数据框?如果您有让这个问题更容易理解的建议,或者有一个指向已经解决的地方的链接,我将不胜感激。我搜索了堆栈溢出,但找不到正确的问题。如果出于某种原因这样做只是一个愚蠢的想法,那么我是新手,给我指出一个更好的方向也会很有帮助。但是有些列表有很多条目,我想将它们放入数据框中,以便使用 pandas 对它们进行一些分析。

(['pE7464AFD1F'],
 [['t29', 1, 15, 50],
  ['t248', 1, 15, 15],
  ['t140', 1, 15, 33],
  ['t121', 1, 15, 41],
  ['t221', 1, 15, 19]])

【问题讨论】:

  • 请分享代码/数据而不是图片
  • 对不起。添加代码并删除图片。
  • 类似这样的东西:from itertools import chain; pd.DataFrame.from_records(chain.from_iterable(data[1:]))?
  • 您希望每个列表代表 DF 中的一行减去第一个吗?
  • 您能否编辑问题,以便它提供您希望生成的 DF 看起来像的小样本

标签: python pandas list dataframe


【解决方案1】:

除非我误解了您的问题,否则您有一个包含标识号的元组和一个代表您的数据的列表。

您只是想将两者分开,并将数据转换为数据框。

import pandas as pd

identifier, data = (['pE7464AFD1F'],
                    [['t29', 1, 15, 50],
                     ['t248', 1, 15, 15],
                     ['t140', 1, 15, 33],
                     ['t121', 1, 15, 41],
                     ['t221', 1, 15, 19]])

df = pd.DataFrame(data)

# For Display
print(df)

输出:

      0  1   2   3
0   t29  1  15  50
1  t248  1  15  15
2  t140  1  15  33
3  t121  1  15  41
4  t221  1  15  19

【讨论】:

  • 感谢 Henry Ecker,这正是我试图通过输出完全按照我希望的那样来弄清楚的。很抱歉问题中的歧义以及缺少所需的输出示例。
猜你喜欢
  • 2018-11-01
  • 2015-07-31
  • 2017-08-09
  • 2016-01-02
  • 2022-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-26
相关资源
最近更新 更多