python - 如何使用 Pandas 将二维表 (DataFrame) 反转为一维列表?

标签 python pandas dataframe pivot-table

我正在 Python/Pandas 中寻找将二维表反转为一维列表的技巧。

我通常利用 Excel 函数来执行此操作,但我相信有一种智能的 Python 方法来执行此操作。

步骤

The steps of "2-dimension table into 1 dimension list"

Excel方式的更多细节: http://www.extendoffice.com/documents/excel/2461-excel-reverse-pivot-table.html

最佳答案

此类操作也可以使用 pd.melt 完成,它取消了 DataFrame 的透视。

如果 DataFrame df 看起来像这样:

  row labels  Tue  Wed  Thu  Sat  Sun  Fri  Mon
0      Apple   21   39   24   27   37   46   42
1     Banana   32   50   48   35   21   27   22
2       Pear   37   20   45   45   31   50   32

然后我们选择 row_labels 列作为我们的 id_var,其余列作为我们的值 (value_vars)。我们甚至可以同时为列选择新名称:

>>> pd.melt(df, 
            id_vars='row labels', 
            value_vars=list(df.columns[1:]), # list of days of the week
            var_name='Column', 
            value_name='Sum of Value')

   row labels   Column   Sum of Value
0       Apple      Tue             21
1      Banana      Tue             32
2        Pear      Tue             37
3       Apple      Wed             39
4      Banana      Wed             50
5        Pear      Wed             20
...

value_vars 堆叠在一起:如果列值需要按特定顺序排列,则需要在熔化后对列进行排序。

关于python - 如何使用 Pandas 将二维表 (DataFrame) 反转为一维列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27764378/

相关文章:

python - Mistune Markdown 解析器仅匹配我的表情符号模式的第一次出现

python - 根据自定义条件过滤 csv 中的行

python - 列 pandas 中唯一值的计数

python - 内连接 pandas 数据框与日期范围列

python - 在 python 中,我如何检查一个对象是否有值?

python - 在 TensorFlow 中对 5-D 张量进行上采样

python - shapely 和 matplotlib 多边形中的点与地理定位不准确

python - 用 1 替换列中的非 Null 值

python - 如何从嵌套列中提取 json 到数据框

python - 计算多列中的值