微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Pandas stack/melt

如何解决如何使用 Pandas stack/melt

*我正在编辑这个,希望能让它更清晰。我正在尝试利用堆栈和融化的组合将此示例数据帧转换为以下所需的输出

我使用 Pandas 在下面的 excel 表中加载,最终目标是使其整洁和长。

 df=pd.read('myfile.xlsx)
  df1= df.stack(level=1)
   df2=df1.melt(col_level =1)

示例数据框

良好的客户服务 新鲜食材 很多座位
爸爸约翰 细分市场平均 爸爸约翰 细分市场平均 棒约翰 细分市场平均
12/1/2019 70 88 12/1/2019 2.2 5.5 12/1/2019 5.2 8.8
12/2/2019 50 78 12/2/2019 6.8 4.4 12/2/2019 5.3 7.8
12/3/2019 60 77 12/3/2019 8.9 2.3 12/3/2019 6.3 5.6
12/4/2019 30 76 12/4/2019 7.3 7.3 12/4/2019 7.9 4.6

这是我正在寻找的最终结果

日期 餐厅 问题 得分
12/1/2019 约翰爸爸 良好的客户服务 70
12/2/2019 约翰爸爸 良好的客户服务 50
12/3/2019 约翰爸爸 良好的客户服务 60
12/4/2019 约翰爸爸 良好的客户服务 30
12/4/2019 约翰爸爸 新鲜食材 2.2
12/4/2019 约翰爸爸 新鲜食材 6.8
12/4/2019 约翰爸爸 新鲜食材 8.9
12/4/2019 约翰爸爸 新鲜食材 7.3

解决方法

假设您的 excel 文件如下所示:

enter image description here

以下是我将如何使用 Pandas 进行处理的步骤:

  1. 读取文件但跳过前两行并删除空列
  2. 将 DF 转换为多索引 DF
  3. 使用 df %>% + group_by(ID,Age) %>% + filter(Month == max(Month)) # A tibble: 6 x 3 # Groups: ID,Age [6] ID Age Month <dbl> <dbl> <dbl> 1 1 25 12 2 2 18 11 3 3 12 10 4 3 25 10 5 4 19 10 6 5 10 3 将 DF 融合并连接起来
for loop

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?