首页 > 其他分享 >【pandas小技巧】--数据转置

【pandas小技巧】--数据转置

时间:2023-08-16 09:34:21浏览次数:43  
标签:转置 样本 DataFrame -- pd df 数据 pandas

所谓数据转置,就是是将原始数据表格沿着对角线翻折,使原来的行变成新的列,原来的列变成新的行,从而更方便地进行数据分析和处理。

pandasDataFrame的转置非常简单,每个DataFrame对象都有一个T属性,通过这个属性就能得到转置之后的DataFrame
下面介绍几个数据转置常用的场景,感受下转置前后数据展示的区别。

1. 数据结构调整

有时候原始数据在行列方向上不太适合某些数据分析和处理需求,需要将其调整为合适的数据结构。
某些机器学习算法要求输入特征矩阵的行表示样本,列表示特征值,这时候就需要将原始数据表格进行转置。

比如,随机生成10个样本数据,每个样本有200个特征值:

import pandas as pd

df = pd.DataFrame(np.random.rand(200, 10))
df.columns = [
    "SAMPLE_"+s for s in list("ABCDEFGHIJ")
]
df

image.png
代表一个样本的所有特征的值,样本名称是按字母顺序生成的。
代表所有样本的一种特征值。

如果要让列显示各个特征值,行代表一个个样本的话,就需要转置操作。

df.T

image.png
转置之后,每代表一个样本的所有特征的值,更有利于观察每个样本的特征。

2. 数据展示效果

有时候为了更好地呈现数据,需要将原始数据表格进行转置。
在制作某些类型的图表或者报告中,将数据表格转置可以更加直观地展示重点数据信息。

比如,有如下学生成绩数据:

df = pd.DataFrame(
    np.random.randint(60, 100, (4, 3))
)
df.columns = ["语文", "数学", "英语"]
df.index = ["学生"+s for s in list("ABCD")]
df

image.png
这样的视图适合查看每个学生的成绩情况。
这样的结构以学生为主要视角,可以绘制各个学生的学科堆叠柱状图等。

转置之后如下:

df.T

image.png
这样的视图以学科为主要视角,方便查看每个学科的学习情况。
这样的结构适合绘制每个学科的学生成绩堆叠柱状图等。

此外,查看DataFrame概况信息时,也常常会转置之后查看。

df = pd.DataFrame(np.random.rand(200, 10))
df.columns = [
    "SAMPLE_" + s for s in list("ABCDEFGHIJ")
]

df.describe()

image.png

转置之后是这样的,可以体会在不同的视角下,数据给我们的感觉。

df.describe().T

image.png

标签:转置,样本,DataFrame,--,pd,df,数据,pandas
From: https://www.cnblogs.com/wang_yb/p/17633060.html

相关文章

  • 路径总和
    力扣(LeetCode)官网-全球极客挚爱的技术成长平台经验1:如果一段程序写在递归的上方,代表这一层函数压栈时(也就是这层递归开始运行时)运行这段程序intfun(intn){staticinti=0;if(n==1)return1;if(n==4)returni;i++;fun(n-1);......
  • ThingsKit物联网平台可视化工具之看板编辑器
    概述编辑器的作用是让用户可以通过简单的配置和拖拽,创建出符合自己需求的网页界面。您可以快速搭建已接入设备的数据可视化展示,以及可交互的控制界面。编辑器的特点简单易用的可视化布局。数据绑定轻松搞定,无需任何代码。支持几十个常用的看板组件,样式比较丰富。响应式布局......
  • ThingsKit物联网平台可视化工具之看板数据配置
    数据配置的说明数据配置在可视化看板中,主要通过数据配置它可以为组件提高数据的可读性和可视化效果,更加易于理解和使用,从而更好地支持决策和管理。本系统在数据配置上,提供的是表单操作;只需要一步又一步的选择即可设置好数据源;数据配置的流程如下:选择设备类型:网关设备、网关......
  • 模拟修改客户端访问服务器时的IP方法
    产品需求有时候需要区分白名单城市和非白名单城市,例如:北上广深访问页面A,返回一套数据B,其他城市访问页面A,返回另一套数据C。这时候我们就需要通过一定的方法才能测试覆盖到这个场景。两个方法:1、使用第三方网络代理,代理到其他城市的网络环境(这里就不细说了,缺点就是网速不稳定,可......
  • 3-软硬件环境搭建
    目录一.硬件环境二.软件环境一.硬件环境1.单片机最小系统(单片机,复位电路,晶振电路)二.软件环境1.STM32工程文件结构2.固件库安装......
  • VTK 实例67:裁剪
    1#include<vtkAutoInit.h>2VTK_MODULE_INIT(vtkRenderingOpenGL2);3VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2);4VTK_MODULE_INIT(vtkRenderingFreeType);5VTK_MODULE_INIT(vtkInteractionStyle);678#include<vtkSmartPointer.h&......
  • 1.1 C++ STL 字符串构造函数
    String字符串操作容器是C++标准中实现的重要容器,其主要用于对字符串的高效处理,它和C风格中的string.h并不是同一个库,两个库有极大的差距,C库中的string.h主要面向过程提供一些处理函数,而C++库中的string则是基于类实现的更高效的一种字符串处理方法集,类中提供了非常方便的成......
  • VTK 实例68:透明度
    1#include<vtkAutoInit.h>2VTK_MODULE_INIT(vtkRenderingOpenGL2);3VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2);4VTK_MODULE_INIT(vtkRenderingFreeType);5VTK_MODULE_INIT(vtkInteractionStyle);67#include<vtkSmartPointer.h>......
  • 3信息安全整体架构设计
    WPDRPC模型6环节和3大要素:6环节:预警、保护、检测、响应、恢复、反击先采取预警来构建防御机制,进行第一道保护检测是日常性的维护,可以是第二道保护检测出危险,就要对其响应进行恢复,这是第三道保护恢复后进行反击,反击就是最好的保护3大要素:人员、策略、技术      ......
  • 货币政策不确定性数据计算(python的getline方法)
    需求:工作中需要计算货币政策不确定性等大量数据,需要从每个数据源中提取灵动文本值,对其进行统计分析汇总,便于后续进行回归及其他实证设计。 解决:python自带的linecache模块中getline方法简单好用,可直接提取文件中对应行的内容并进行统计分析#!/usr/bin/python # -- codin......