【问题标题】:Append columns from a DataFrame to a list将 DataFrame 中的列附加到列表中
【发布时间】:2018-07-31 12:59:54
【问题描述】:

是否可以将数据框中的列附加到空列表中?

生成随机df的示例:

df = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))

输出是:

    A   B   C   D
0  25  27  34  77
1  85  62  39  49
2  90  51   2  97
3  39  19  86  59
4  33  79  64  73
5  36  66  29  78
6  22  27  84  41
7   0  26  22  22
8  44  57  29  37
9   0  31  96  90

如果我有一个或多个空列表,你能在每一行后面附加列吗?所以A,C 到一个列表,B,D 到一个列表。一个示例输出是:

empty_list = [[],[]]

empty_list[0] = [[25,34],
                 [85,39]
                 [90,2]
                 [39,86] 
                 [33,64]
                 [36,29]
                 [22,84]
                 [0,22]
                 [44,29]
                 [0,96]]

或者您是否必须通过 df['A'].tolist() 将每一列转换为列表,然后逐行进行追加?

【问题讨论】:

    标签: python list dataframe append


    【解决方案1】:

    试试这个

        d=df[['A','C']]
        d.values.tolist()
    
        Output
        [[0, 93], [58, 14], [79, 18], [40, 26], [91, 14], [25, 18], [22, 25], [35, 99], [12, 82], [48, 72]]
    

    所以解决办法是:

    empty_list = [[],[]]
    empty_list[0]=df[['A','C']].values.tolist()
    empty_list[1]=df[['B','D']].values.tolist()
    

    我的 df 是:

    df = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))
    df
        A   B   C   D
    0   0  60  93  94
    1  58  52  14  33
    2  79  84  18   1
    3  40  21  26  32
    4  91  19  14   8
    5  25  34  18  68
    6  22  37  25  10
    7  35  58  99  80
    8  12  38  82   8
    9  48  56  72  66
    

    【讨论】:

    • 谢谢。效果很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多