【问题标题】:How to convert multiple dataframe columns (of same type) into a single list or series如何将多个数据框列(相同类型)转换为单个列表或系列
【发布时间】:2019-03-22 15:31:11
【问题描述】:

假设有表单的 pandas 数据框

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)。

【问题讨论】:

    标签: pandas


    【解决方案1】:

    您可以使用.unstack() 将它们变成MultiIndexed 系列,去掉空值,然后只取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']
    

    【讨论】:

      猜你喜欢
      • 2020-02-07
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 2021-01-14
      • 2014-08-27
      • 1970-01-01
      • 1970-01-01
      • 2019-05-16
      相关资源
      最近更新 更多