[每日一练]利用pivot函数自定义数据透视表

news/2024/9/21 14:16:12 标签: python, pandas, 力扣, 数据透视表

#该题目来源于力扣

2889. 数据重塑:透视 - 力扣(LeetCode)

题目要求:

DataFrame weather
+-------------+--------+
| Column Name | Type   |
+-------------+--------+
| city        | object |
| month       | object |
| temperature | int    |
+-------------+--------+
编写一个解决方案,以便将数据 旋转,使得每一行代表特定月份的温度,而每个城市都是一个单独的列。

输出结果格式如下示例所示。

 

示例 1:
输入:
+--------------+----------+-------------+
| city         | month    | temperature |
+--------------+----------+-------------+
| Jacksonville | January  | 13          |
| Jacksonville | February | 23          |
| Jacksonville | March    | 38          |
| Jacksonville | April    | 5           |
| Jacksonville | May      | 34          |
| ElPaso       | January  | 20          |
| ElPaso       | February | 6           |
| ElPaso       | March    | 26          |
| ElPaso       | April    | 2           |
| ElPaso       | May      | 43          |
+--------------+----------+-------------+
输出:
+----------+--------+--------------+
| month    | ElPaso | Jacksonville |
+----------+--------+--------------+
| April    | 2      | 5            |
| February | 6      | 23           |
| January  | 20     | 13           |
| March    | 26     | 38           |
| May      | 43     | 34           |
+----------+--------+--------------+
解释:
表格被旋转,每一列代表一个城市,每一行代表特定的月份。

思路流程:

可见,题目的要求是让我们对该数据集进行重塑,即是将mouth列变为索引,name列内的数据变为列名,而最终数据透视表所要显示的内容是temperature列的数据。建立数据透视表就需要用到pivot函数

函数参数介绍:

  • index_column:指定用于索引的列名称。
  • column_to_pivot:指定用于创建列的列名称。
  • value_column:指定要转换为列值的列名称。

代码实现:

python">import pandas as pd

def pivotTable(weather: pd.DataFrame) -> pd.DataFrame:
    data=weather.pivot(index='month',columns='city',values='temperature')
    return data
    

相比excel中复杂的操作流程,使用python重构数据透视表更为简单


http://www.niftyadmin.cn/n/5668916.html

相关文章

【图文详解】什么是微服务?什么是SpringCloud?

目录 一.认识微服务架构 ▐ 微服务带来的挑战 二.微服务解决方案SpringCloud ▐ SpringCloud的版本 ▐ SpringCloud和SpringBoot的关系 ▐ SpringCloud实现方案 Spring Cloud Netfix Spring Cloud Alibaba ▐ Spring Cloud 实现对比 在入门Spring Cloud 之前&#xff…

使用 Azure Functions 开发 Serverless 应用:详解与实战

使用 Azure Functions 开发 Serverless 应用:详解与实战 随着云计算的发展,Serverless(无服务器架构)已成为构建现代应用的重要模式。它能够让开发者专注于业务逻辑,而不需要关注底层的服务器管理、扩展等问题。Azure…

前端CSS学习框架

⭐️ CSS 💬 描述:层叠样式表,用于设计风格和布局。 📚 资源:学习使用 CSS 为 HTML 添加样式 - 学习 Web 开发 | MDN ⭐️ 基本语法 ⭐️ 引入方式 行内样式 内部样式表 外部样式表 ⭐️ 选择器 通用选择器 标签…

解决ubuntu22.04 gnome-terminal 无法启动的问题

22.04下面默认的python 版本是3.10. 如果你安装了3.8或其它版本,尽量不要去ln -s python3.8 python3修改默认python3版本,不然Terminal会打不开。猜测Terminal可能用到了python的_gi这个库。 可以在xterm或putty远程连上,输入 sudo gnome-te…

C#自定义曲线绘图面板

一、实现功能 1、显示面板绘制。 2、拖动面板,X轴、Y轴都可以拖动。 3、显示面板缩放,放大或者缩小。 4、鼠标在面板中对应的XY轴数值。 5、自动生成的数据数组,曲线显示。 6、鼠标是否在曲线上检测。 二、界面 拖动面板 鼠标在曲线上…

改进拖放PDF转换为图片在转换为TXT文件的程序

前段时间我写了Python识别拖放的PDF文件再转成文本文件-CSDN博客 最近有2点更新,一是有一些pdf文件转换出来的图片是横的,这样也可以识别文字,但是可能会影响效果,另一个是发现有一些文字识别不出来,看了关于提高Padd…

day21JS-npm中的部分插件使用方法

1. 静态资源目录 静态资源目录就是访问服务器的某些路劲时候,服务器可以吐出一个写好的指定页面。 实现思路: 1、先判断要找的路径是否是文件,如果是文件,就加载发给对方。 2、如果是文件夹,找到这个文件夹所在路径中…

unity 高性能对象池解决方案

对于一个高性能对象池应该有的功能: 支持多种对象、同步加载、异步加载、隐藏方式、自动收缩(使用LRU缓存机制,最近最久未使用来进行收缩)、异步删除 所以我针对这几个功能讲一下原理: 支持多种对象: G…