Python DataFrame一列拆成多列以及一行拆成多行

yipeiwu_com6年前Python基础

摘要

在进行数据分析时,我们经常需要把DataFrame的一列拆成多列或者根据某列把一行拆成多行,这篇文章主要讲解这两个目标的实现。

1.读取数据

2.将City列转成多列(以‘|'为分隔符)

这里使用匿名函数lambda来讲City列拆成两列。

在这里插入图片描述

3.将DataFrame一行拆成多行(以‘|'为分隔符)

方法一:在刚刚得到的DataFrame基础上操作,如下图所以,可以明显看到我们按照City列将DataFrame拆成了多行。主要是先将DataFrame拆成多列,然后拆成多个DataFrame再使用concat组合。但是这种方法碰到City列切割不均匀的时候可能会麻烦一点,因此,这个时候你可以使用万能方法二。

在这里插入图片描述

方法二:这个方法的主要思想是,首先将DataFrame中需要拆分的列进行拆分,再使用stack()进行轴变换,然后通过index来join即可,如下所示。

首先,将刚刚的df还原成原始形式:

在这里插入图片描述

接下来取出其City列,并切分成多列之后轴转换,之后重新设置索引,并且重命名为Company

在这里插入图片描述

最后删除df里面的Country列,并将DataFrame-df1 使用join到df里面得到最后的结果。

在这里插入图片描述

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python zip函数打包元素实例解析

这篇文章主要介绍了Python zip函数打包元素实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 介绍 zip() 函数用于...

python的常见矩阵运算(小结)

python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包。 1.numpy的导入和使用 from numpy import *;#导入nu...

python递归法解决棋盘分割问题

python递归法解决棋盘分割问题

题目描述:将一个8*8的棋盘进行分割,将原棋盘分割下一个矩阵,同时确保剩下的棋盘也是矩阵; 再将剩下的棋盘继续进行如上分割,这样割(n-1)次,最后原棋盘被分割成n块矩形棋盘; 注意:每...

PowerBI和Python关于数据分析的对比

PowerBI和Python关于数据分析的对比

前言 如果你对数据分析有一定的了解,那你一定听说过一些亲民好用的数据分析的工具,如Excel、Tableau、PowerBI等等等等,它们都是数据分析的得力助手。像经常使用这些根据的伙伴...

对python:threading.Thread类的使用方法详解

Python Thread类表示在单独的控制线程中运行的活动。有两种方法可以指定这种活动: 1、给构造函数传递回调对象 mthread=threading.Thread(target...