当前位置: 首页 > news >正文

pandas一行拆成多行

import pandas as pd
df = pd.DataFrame({'Country':['China','US','Japan','EU','UK/Australia', 'UK/Netherland'],'Number':[100, 150, 120, 90, 30, 2],'Value': [1, 2, 3, 4, 5, 6],'label': list('abcdef')})# 法一 推荐
df2=df.drop('Country', axis=1).join(df['Country'].str.split('/', expand=True).stack().reset_index(level=1, drop=True).rename('Country'))
df.drop('Country', axis=1).join(df['Country'].str.split('/', expand=True).stack().reset_index(level=1, drop=True).rename('Country'))
print(df2)
#法二
tmp =df.set_index(["Number", "Value", "label"])["Country"].str.split("/", expand=True).stack()
result = tmp.reset_index(drop=True, level=-1).reset_index()
result = result.rename(columns={0: 'Country222222'})print(df)
print(result)

在这里插入图片描述

说明

  1. df.drop()通过指定标签名称和相应的轴,或直接给定索引或列名称来删除行或列,axis:轴的方向,0为行,1为列,默认为0
  2. stack()函数:“逆透视”就是将索引,特别是将列名转换为普通的列,方便后期计算,这个在excel里面叫做二维表转换为一维表。
    处理前
    step1
    重置索引
    两列组合做索引

3.pivot_table()透视

# 1. 单层统计 -- 根据名称分组统计不同颜色的数量总和
table = pd.pivot_table(df, values="数量", index="名称", columns="颜色", aggfunc=np.sum)
table2. fill_value参数:设定fill_value=0: 缺失值充填为0;marigins 参数:设定margins=True: 对行和列的数据进行统计输出
# 2. 单层统计 -- 根据名称分组统计不同颜色的数量平均值
table = pd.pivot_table(df, values="数量", index="名称", columns="颜色", aggfunc="mean", fill_value=0, margins=True)
table3. columns参数:传入列表,相当于同时对多个特征进行分类统计
# 3. 复合统计1 - 根据名称分组统计不同颜色和尺寸的数量总和
table = pd.pivot_table(df, values="数量", index="名称", columns=["颜色", "尺寸"], aggfunc="sum", fill_value=0,margins=True)
table4. index参数:传入一个列表,**就是相当于进行多层级的分组**
# 4. 复合统计2 - 根据名称和大小分组统计不同颜色的数量总和
table = pd.pivot_table(df, values="数量", index=["名称", "尺寸"], columns=["颜色"], aggfunc="sum", fill_value=0, margins=True)
table5. aggfunc参数: 聚合函数可以是函数,函数列表,字典。如果传递的是字典,则健为要聚合的列,值是函数或函数列表。聚合函数可包括:mean(平均值), sum(求和), max(最大值), min(最小值), size(计数), var(方差),std(标准差), median(中位数) 等。
# 5.复合统计3 - 根据名称统计不同颜色的数量总和,以及厚度的标准差
# 为方便演示,加入1新特征厚度值
df["厚度"] = [2, 5, 1, 2, 4, 5]
table = pd.pivot_table(df, values=["数量", "厚度"], index="名称", columns=["颜色"], aggfunc={"数量": np.sum, "厚度": np.std}, fill_value=0, margins=True)
table

处理前
处理后1 相当于分组
处理后

相关文章:

pandas一行拆成多行

import pandas as pd df pd.DataFrame({Country:[China,US,Japan,EU,UK/Australia, UK/Netherland],Number:[100, 150, 120, 90, 30, 2],Value: [1, 2, 3, 4, 5, 6],label: list(abcdef)})# 法一 推荐 df2df.drop(Country, axis1).join(df[Country].str.split(/, expandTrue).…...

今天调了个转速的小BUG

同事说转速表有个bug,转速停止后,继电器没有恢复到初始状态。若停止之前是报警,继电器吸合,则停止后继电器还是吸合。我心想不会啊,这软件都弄了好几年了,一直也没出现过状况。 经过与调试同事的沟通&#…...

第三节、电机定速转动【51单片机-TB6600驱动器-步进电机教程】

摘要:本节介绍用定时器定时的方式,精准控制脉冲时间,从而控制步进电机速度 一、计算过程 1.1 电机每一步的角速度等于走这一步所花费的时间,走一步角度等于步距角,走一步的时间等于一个脉冲的时间 w s t e p t … ……...

从一个Bug谈前端响应拦截器的应用

一、问题场景 今天在开发商品管理系统时,遇到了一个有趣的问题:当添加重复的商品编号时,页面同时弹出了两条 "商品编号已存在" 错误提示: 这个问题暴露了前端错误处理机制的混乱,让我们从这个问题出发&…...

JS进阶DAY4|节点操作

嘿👋 今天我们要一起深入探索JavaScript中的DOM操作,这是前端开发中不可或缺的技能。🌟 准备好了吗?让我们一起跳进DOM的海洋,看看怎么用代码操控网页的结构吧! 目录 1. 增加节点 1.1 使用 appendChild 方…...

【Web】2023安洵杯第六届网络安全挑战赛 WP

目录 Whats my name easy_unserialize signal Swagger docs 赛题链接:GitHub - D0g3-Lab/i-SOON_CTF_2023: 2023 第六届安洵杯 题目环境/源码 Whats my name 第一段正则用于匹配以 include 结尾的字符串,并且在 include 之前,可以有任…...

go 语言中协程和GMP模型

为什么需要协程? 协程用来更加精细地利用线程,支撑超高的并发的。协程,从 runtime 的角度看,协程就是一个被调度的 g 结构体。 G 就是协程,M 是线程,P 是为了优化多线程并发时,会抢夺协程队列的…...

coco数据集转换SAM2格式

coco是一个大json汇总了所有train的标签 SAM2训练一张图对应一个json标签 import json import os from pycocotools import mask as mask_utils import numpy as np import cv2def poly2mask(points, width, height):points_array np.array(points, dtypenp.int32).reshape(-…...

【CMD、PowerShell和Bash设置代理】

【CMD、PowerShell和Bash设置代理】 1. CMD(命令提示符)临时设置代理(只对当前会话有效):查看当前代理设置:清除临时代理设置:永久设置代理(对所有新的 CMD 会话有效)&am…...

22智能 代码作业集合

3-2 #include <stdio.h>int main() {int a 21;int b 10;int c ;c a b;printf("Line 1 - c 的值是 %d\n", c );c a - b;printf("Line 2 - c 的值是 %d\n", c );c a * b;printf("Line 3 - c 的值是 %d\n", c );c a / b;printf("…...

实现一个简单的后台架子(侧边栏菜单渲染,折叠,黑白主题,组件主题色,全屏,路由快捷栏)

目录 侧边栏菜单渲染 侧边栏折叠 黑白主题 全屏切换 切换组件主题色 tab快捷栏 代码 侧边栏菜单渲染 结合ElementPlus组件库进行实现 新建的Vue3项目,引入了格式化样式normalize.css和ElementPlus,并进行了全局引入 并进行了全局引入 设置高度为100% 粘贴ElementPlus的…...

vue3-canvas实现在图片上框选标记(放大,缩小,移动,删除)

双图版本&#xff08;模板对比&#xff09; 业务描述&#xff1a;模板与图片对比&#xff0c;只操作模板框选的位置进行色差对比&#xff0c;传框选坐标位置给后端&#xff0c;返回对比结果显示 draw.js文件&#xff1a; 新增了 createUuid&#xff0c;和求取两个数组差集的方…...

unity3d—demo(2d人物左右移动发射子弹)

目录 人物代码示例&#xff1a; 子弹代码示例&#xff1a; 总结上面代码&#xff1a; 注意点&#xff1a; 人物代码示例&#xff1a; using System.Collections; using System.Collections.Generic; using UnityEngine;public class PlayerTiao : MonoBehaviour {public f…...

【ETCD】【源码阅读】 深入解析 raftNode.start`函数:Raft 核心启动逻辑剖析

raftNode.start方法 是 etcd 中 Raft 模块的核心启动点&#xff0c;其职责是管理 Raft 状态机的状态变迁、日志处理及集群通信等逻辑。通过对源码的逐行分析&#xff0c;我们将全面揭示其运行机制&#xff0c;探讨其设计背后的分布式系统理念。 函数核心结构 raftNode.start 方…...

Robust Depth Enhancement via Polarization Prompt Fusion Tuning

paper&#xff1a;论文地址 code&#xff1a;github项目地址 今天给大家分享一篇2024CVPR上的文章&#xff0c;文章是用偏振做提示学习&#xff0c;做深度估计的。模型架构图如下 这篇博客不是讲这篇论文的内容&#xff0c;感兴趣的自己去看paper&#xff0c;主要是分享环境&…...

NEFTune,SFT训练阶段给Embedding加噪音

仿照CV里&#xff0c;数据增强的思路&#xff08;给图像做旋转、反转、改变亮度等&#xff09;&#xff1b;NLP里&#xff0c;SFT训练数据较少时&#xff0c;也可往embedding上加噪音&#xff0c;来增加训练数据的丰富程度。进而提升最终训练效果。 前提假设&#xff1a;Embed…...

uniapp -- 实现页面滚动触底加载数据

效果 首选,是在pages.json配置开启下拉刷新 {"path": "pages/my/document/officialDocument","style": {"navigationStyle":</...

L22.【LeetCode笔记】相交链表(新版)

目录 1.题目 代码模板 2.分析 ​编辑 算法误区 正确方法1 但不能通过所有的测试用例 修改后 提交结果 正确方法2 节省代码的技巧 1.题目 https://leetcode.cn/problems/3u1WK4/description/ 给定两个单链表的头节点 headA 和 headB &#xff0c;请找出并返回两个单…...

智能时代网络空间认知安全新观察

文章目录 前言一、历史上的四次认知革命二、人工智能革命掀起认知安全新浪潮三、人工智能技术塑造认知安全新范式四、人工智能治理应对认知安全新思考 前言 12月5日&#xff0c;在2024第三届北外滩网络安全论坛上以“智能时代网络空间认知安全新观察”为主题作主旨演讲&#x…...

游戏如何应对模拟器作弊

模拟器是指能在PC端模拟出安卓手机系统的软件&#xff0c;市面上比较常见的安卓模拟器有&#xff1a;雷电模拟器、MuMu模拟器、夜神模拟器等。 市面上常见的模拟器 模拟器既可以节省手机内存空间&#xff0c;避免长时间玩游戏手机发烫发热的尴尬&#xff0c;也可以用键盘鼠标对…...

SQL线索

插入insert into 表 (列) value (),(),...;从另一个表插入数据&#xff1a;insert into 表 (列) select 列 from 另一个表 where 限制;删除delete from 表 where 限制;子查询删&#xff1a;delete from 表 where 列 in (select 列 from 另一个表 where 限制);改update 表 set 列…...

词源探秘|从orient到panorama:解码英语单词背后的文明密码

1. 从日出东方到现代导航&#xff1a;ori词根的文明之旅 当古人第一次观察到太阳从东方升起时&#xff0c;拉丁语用"oriri"&#xff08;升起&#xff09;记录这个现象。这个词根演变为ori&#xff0c;像一条暗线贯穿人类文明&#xff1a; orient&#xff08;东方&a…...

Claude代码自动模式:跳过权限的更安全方式 Claude Code auto mode: a safer way to skip permissions —— Anthropic

Claude Code auto mode: a safer way to skip permissions Claude代码自动模式&#xff1a;跳过权限的更安全方式 https://www.anthropic.com/engineering/claude-code-auto-mode Claude Code users approve 93% of permission prompts. We built classifiers to automate so…...

AI智能体如何通过区块链钱包实现自动化加密云存储

1. 项目概述&#xff1a;当AI智能体遇上加密云存储如果你正在使用OpenClaw这类AI智能体平台&#xff0c;并且头疼于如何让它们自动、安全地处理云端数据——比如备份对话记录、上传生成的文件&#xff0c;或者管理需要付费的API服务——那么你很可能需要一个既懂区块链支付、又…...

应对海外AIGC检测:初稿AI率飙到97%怎么救?4个结构级优化实测指南

大家最近都在为英文降aigc率发愁吧&#xff0c;作为研三党&#xff0c;我太懂这种痛了&#xff0c;之前我自己写英文初稿&#xff0c;写完直接拿去查重&#xff0c;结果turnitin检测ai率飙到了89%&#xff0c;当时看着报告整个人都懵了。 怎么给英文降ai&#xff1f;对于非母语…...

EMC预合规测试:传导与辐射发射的实战指南

1. 预合规EMC测试的核心价值与挑战在电子设备开发领域&#xff0c;电磁兼容性&#xff08;EMC&#xff09;问题如同无形的暗礁&#xff0c;往往在产品开发后期才突然显现&#xff0c;导致昂贵的重新设计和上市延迟。我曾参与过一个工业控制设备的项目&#xff0c;团队在功能验证…...

【领域驱动设计 开篇】零 来源及学习路径

DDD是什么 2003 年&#xff0c;Eric Evans 写了《领域驱动设计&#xff1a;软件核心复杂性应对之道》一书&#xff0c;正式提出了这种方法。领域驱动设计的英文是 Domain-Driven Design&#xff0c;简称 DDD。 按照作者自己的说法&#xff0c;“DDD 是一种开发复杂软件的方法”…...

从QR码到汉信码:除了日本标准,国产二维码在哪些场景更牛?

从QR码到汉信码&#xff1a;国产技术如何重新定义二维码应用边界 在数字化浪潮席卷全球的今天&#xff0c;二维码已成为连接物理世界与数字世界的隐形桥梁。当我们习惯性地掏出手机扫描各种黑白方块时&#xff0c;很少有人意识到这些看似简单的图案背后&#xff0c;隐藏着一场关…...

从零到一:基于iSYSTEM winIDEA与IC5000的嵌入式程序烧写与调试实战指南

1. 环境准备&#xff1a;搭建你的嵌入式开发工作台 第一次接触iSYSTEM工具链时&#xff0c;我完全被各种专业术语搞懵了。后来才发现&#xff0c;只要把环境搭好&#xff0c;后面的操作就像拼乐高一样简单。这里我会手把手带你配置好winIDEA和IC5000调试器&#xff0c;避开那些…...

Flutter 路由导航完全指南

Flutter 路由导航完全指南 引言 路由导航是任何移动应用的核心功能之一。Flutter 提供了强大而灵活的路由系统&#xff0c;支持多种导航方式。本文将深入探讨 Flutter 路由导航的各种技巧和最佳实践。 基础导航 Navigator.push Navigator.push(context,MaterialPageRoute(…...