【问题标题】:How to create a dataframe with three lists?如何创建一个包含三个列表的数据框?
【发布时间】:2021-09-23 19:30:14
【问题描述】:

我想向数据框添加第三个列表。我只对两个列表(“List1”和“List2”)使用了 zip(),但我不确定如何添加第三个列表(“List3”)?

List1 = ['Value1','Value2']
List2 = ['Value3','Value4']
List3 = ['Value5','Value6']


import numpy as np
df = pd.DataFrame(list(zip(List1, List2)),
                 columns =['Column list1', 'Column list2'])
df

【问题讨论】:

    标签: python list dataframe numpy


    【解决方案1】:

    首先,zip 不限于两个可迭代对象。您可以传递任意数量的参数,例如:

    >>> list(zip([1,2], [3,4], [5,6]))
    [(1, 3, 5), (2, 4, 6)]
    

    也就是说,在创建具有多列的DataFrame 时,更习惯使用dict 参数:

    df = pd.DataFrame({
        'a': [1,2],
        'b': [3,4],
        'c': [5,6],
    })
    >>> df
       a  b  c
    0  1  3  5
    1  2  4  6
    

    所以,在你的情况下,你可能会写:

    df = pd.DataFrame({
        'Column list1': List1,
        'Column list2': List2,
        'Column list3': List3,
    })
    

    编辑(以反映新提出的问题):

    如果您的 df 仅包含前两个列表,并且想在事后添加第三个:

    df['Column list3'] = List3
    

    【讨论】:

    • 如果列表值每次都不一样怎么办?如何仅使用列表名称创建数据框?没有列表本身(它们的值)? @皮埃尔·D
    • 我有 3 个列表,每个列表有两个值。但我不知道这些值是什么。那么如何仅使用列表名称(List1、List2、List3)设置数据框?
    • 我不关注。 “每次”是什么意思? minimal reproducible example 不必太简洁以至于没人能理解要解决的问题是什么……它应该足够完整,清楚地表明您面临的问题。
    猜你喜欢
    • 1970-01-01
    • 2022-11-18
    • 2020-12-28
    • 2015-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多