如何将两个列表转换为一个数据列表,将一个列表转换为一个数据框?

我是从yml文件中获取数据的,因此可以得到两个列表,如下所示:

其中一个名为list_products的列表包含产品名称:

['ABCD'
'LTAP'
'DEFG'
'FFEE']

另一个名为list_ids,包含一个ID列表,有时该元素可以是一个列表:

[[100, 200],
 [3333],
 [1500,99, 870],
 [2]]

当仅使用list_ids时,我可以得到一个数据框,这是我使用的代码:

flat_list = [item for sublist in list_ids for item in sublist]
id_df = pd.DataFrame(flat_list,columns=['id'])

结果是:

id
100
200
3333
1500
99
870
2

现在,我也想要一个带有产品名称的数据框。我想得到这个:

id       name
100      'ABCD'
200      'ABCD'
3333     'LTAP'
1500     'DEFG'
99       'DEFG'
870      'DEFG'
2        'FFEE'
阿兹罗
  1. 您可以使用预处理数据,zip然后构建DF

    names = ['ABCD', 'LTAP', 'DEFG', 'FFEE']
    list_ids = [[100, 200], [3333], [1500, 99, 870], [2]]
    
    flat_list = [(item, name) for sublist, name in zip(list_ids, names) for item in sublist]
    id_df = pd.DataFrame(flat_list, columns=['id', 'name'])
    

    中级flat_list

    flat_list > [(100, 'ABCD'), (200, 'ABCD'), (3333, 'LTAP'), ...
    

  1. 或使用原始数据构建df,然后使用 explode

    id_df = pd.DataFrame({'id': list_ids, 'name': names}).explode('id')
    

    中级pd.DataFrame({'id': list_ids, 'name': names}

                 id  name
    0       [100, 200]  ABCD
    1           [3333]  LTAP
    2  [1500, 99, 870]  DEFG
    3              [2]  FFEE
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将两个数据帧转换为另一个数据帧?

将数据帧列表转换为一个数据帧

将包含数据帧的列表转换为一个数据帧

将嵌套列表元素转换为数据框,并将结果绑定到一个数据框

将数据框列表转换为一个数据框,在额外的列中使用 df 名称

如何合并列表并将其转换为一个数据框?

如何编写将一个数据框转换为另一个数据框的函数?

如何将一个数据框列与一个列表中的多个数据框合并?

将R中的两个列表合并到一个数据框中

从两个数据框创建一个列表

Python:将两列数据框转换为一个插入列表

将列表列表转换为单个数据框,其中第一列由R中的第一个值(对于每个列表)填充

如何将数据框列表转换为一个单一的动物园对象 R

将pandas数据框中的行中的元组列表转换为一个元组列表

将包含另一个词典列表的词典列表转换为数据框

如何将包含 2 列的 900 个文本文件转换为一个数据框

如何将一个数据框列直接转换为以列值作为列索引的数据框?

将列表列表转换为一个列表

如何将一个CSV中的多个数据帧转换为一个?

如何使用熊猫将多个Xpath转换为一个数据框?

如何将包含两个 numpy 数组的 python 列表转换为一个 numpy 数组?

如何将通用类型的数据列表转换为另一个通用类型的数据列表

如何将一个数组转换为Java中的一个链表

将两个列表绑定到一个数据网格

将两个列表绑定到一个数据网格视图中

如何将RDD列表列表转换为pyspark中的一个列表

Python数据框列表将数据框列表合并为一个数据框

将每一行转换为一个数据框并连接结果

将元组列表转换为数据框-元组的第一个元素是列名