代码之家  ›  专栏  ›  技术社区  ›  lampShadesDrifter

如何将多个数据帧列(相同类型)转换为单个列表或序列

  •  0
  • lampShadesDrifter  · 技术社区  · 7 年前

    假设有一个数据帧的形式

    col0 col1 col2 col3
    ---------------------
    a0   a1   a2   a3
    b0   b1   None None
    c0   c1   c2   c3
    

    希望能够得到一个列表或一系列的一些特定选择这些列,例如。

    in: stack(df[['col1', 'col3']])
    
    out: 
    a0
    a3
    b0
    c0
    c3
    

    (注意在这个例子中 None 值被跳过)。尝试使用 stack() 但似乎并不完全是所需要的。任何关于如何将数据帧列放入此表单的建议都将不胜感激 https://stackoverflow.com/a/28419258/8236733

    1 回复  |  直到 7 年前
        1
  •  2
  •   Randy    7 年前

    你可以用 .unstack() MultiIndex np.array

    In [69]: df[['col1', 'col3']].unstack().dropna().values
    Out[69]: array(['a1', 'b1', 'c1', 'a3', 'c3'], dtype=object)
    
    In [70]: df[['col1', 'col3']].unstack().dropna().tolist()
    Out[70]: ['a1', 'b1', 'c1', 'a3', 'c3']