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 pip安装lxml出错的问题解决办法

Python  pip安装lxml出错的问题解决办法 1.  在使用pip安装lxml过程中出现了一下错误:    >>> pi...

python3实现多线程聊天室

python3实现多线程聊天室

使用python3创建多线程聊天室,供大家参考,具体内容如下 import threading import socket #socket udpSocket = None #...

python使用marshal模块序列化实例

本文实例讲述了python使用marshal模块序列化的方法,分享给大家供大家参考。具体方法如下: 先来看看下面这段代码: import marshal data1 = ['abc'...

python 简单搭建阻塞式单进程,多进程,多线程服务的实例

我们可以通过这样子的方式去理解apache的工作原理 1 单进程TCP服务(堵塞式) 这是最原始的服务,也就是说只能处理个客户端的连接,等当前客户端关闭后,才能处理下个客户端,是属于阻塞...

python实现超市商品销售管理系统

python实现超市商品销售管理系统

本文实例为大家分享了python超市商品销售管理系统的具体代码,供大家参考,具体内容如下 需求分析:超市销售管理系统功能 1.欢迎用户使用超市销售管理系统,提示用户登录,如果是用户名为a...