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中使用sys模板和logging模块获取行号和函数名的方法

对于python,这几天一直有两个问题在困扰我:1.python中没办法直接取得当前的行号和函数名。这是有人在论坛里提出的问题,底下一群人只是在猜测python为什么不像__file__...

Python编程深度学习绘图库之matplotlib

Python编程深度学习绘图库之matplotlib

matplotlib是python的一个开源的2D绘图库,它的原作者是John D. Hunter,因为在设计上借鉴了matlab,所以成为matplotlib。和Pillow一样是被广...

python异步存储数据详解

在Python中,数据存储方式分为同步存储和异步存储。同步写入速度比较慢,而爬虫速度比较快,有可能导致数据保存不完整,一部分数据没有入库。而异步可以将爬虫和写入数据库操作分开执行,互不影...

使用Python AIML搭建聊天机器人的方法示例

AIML全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理的XML语言,是由RichardS. Wall...

python中利用numpy.array()实现俩个数值列表的对应相加方法

小编想把用python将列表[1,1,1,1,1,1,1,1,1,1] 和 列表 [2,2,2,2,2,2,2,2,2,2]对应相加成[3,3,3,3,3,3,3,3,3,3]。 代码如...