最近在使用pyspark处理数据,需要连接各种各样的表和字段,因此记录相关函数的使用情况。今天介绍explode().

1. explode()函数简介

explode 函数是 pandas.DataFrame 类的一个方法,能够通过pyspark间接调用。

它可以将一个包含list或者其它可迭代对象的列拆分成多行,然后在所有其它列上进行复制。

函数原型:参数 column 表示 指定要拆分的列。

通过 pyspark调用:

from pyspark.sql import functions as F
F.explode(column)

2. 实验效果

        第一步:创建一个包含两列(A,B)的dataframe数据,且B包含了不同长度的数组。

import pandas as pd
df = pd.DataFrame({'A': ['a', 'b', 'c', 'd', 'e'],'B': [[1], [2, 4], [4, 5, 6], [], [7]]})
print(df)

第二步:将B列展开

import pandas as pd
df = pd.DataFrame({'A': ['a', 'b', 'c', 'd', 'e'],'B': [[1], [2, 4], [4, 5, 6], [], [7]]})
df = df.explode('B')
print(df)

由结果可知,‘a’对应list[1],list[1]展开不变,和‘a',一对一;元素’b‘对应list[2, 4],展开list数组,元素‘b'复制,分别对应元素 2 和 4;以此类推。

注意到,A列元素伴随着B列中对应元素的展开,而复制;元素’d‘对应的空list,因此展开/拆解后A列对应的B列元素同样为空。

更加复杂的情况,A、B、C三列,df = df.explode('B').explode('C'),则考虑了所有组合情况。详情请见博客链接:pandas dataframe 中的explode函数用法详解 - Python技术站

pandas dataframe 中 explode()函数用法及效果相关推荐

  1. php explode用法,php中explode函数用法分析

    本文实例分析了php中explode函数用法.分享给大家供大家参考.具体如下: explode(string separator,string string [,int limit]) separat ...

  2. python explode_pandas dataframe 中的explode函数用法详解

    在使用 pandas 进行数据分析的过程中,我们常常会遇到将一行数据展开成多行的需求,多么希望能有一个类似于 hive sql 中的 explode 函数. 这个函数如下: Code # !/usr/ ...

  3. hive中explode函数的用法

    hive中explode函数的用法 explode函数是一个炸裂函数他可以做一下转换 将这个表格 +--------------+-----------------------------+ | mo ...

  4. python中max函数用法_Python中max函数用法实例分析

    Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...

  5. python中的super用法详解_Python中super函数用法实例分析

    本文实例讲述了python中super函数用法.分享给大家供大家参考,具体如下: 这是个高大上的函数,在python装13手册里面介绍过多使用可显得自己是高手 23333. 但其实他还是很重要的. 简 ...

  6. python怎么画参数函数图像_详解pandas.DataFrame.plot() 画图函数

    首先看官网的DataFrame.plot( )函数 DataFrame.plot(x=None, y=None, kind='line', ax=None, subplots=False, share ...

  7. 在Pandas DataFrame中重塑数据

    目录 介绍 透视Pandas DataFrame 在Pandas DataFrame中对数据进行分组 总结 使用我们的数据集后,我们将快速查看可以使用流行的Python库从数据集轻松创建的可视化,然后 ...

  8. zip在python中的用法_Python中zip()函数用法实例教程

    本文实例讲述了Python中zip()函数的定义及用法,相信对于Python初学者有一定的借鉴价值.详情如下: 一.定义: zip([iterable, ...])zip()是Python的一个内建函 ...

  9. php explode用法,PHP explode()函数用法讲解

    PHP explode()函数用法讲解 PHP explode() 函数 实例 把字符串打散为数组: 定义和用法 explode()函数使用一个字符串分割另一个字符串,并返回由字符串组成的数组. 注释 ...

最新文章

  1. 卧槽!Python学习神器!!!
  2. 用了 10 年 Windows 后,我最终转向 Linux
  3. 细颗粒度Singleton模式实现
  4. Linux之VMware Tools显示灰色正确解决办法
  5. test of duplicate control id
  6. 单片机c语言应用100例第3版课后答案,单片机C语言应用100例(第3版)(含光盘1张)...
  7. 【LintCode】算法题 1443. 最长AB子串
  8. php bc 比较,php BC高精确度函数库
  9. linux mysql 命令
  10. Starling滤镜合集2(新增7种滤镜)
  11. live2d手机制作软件_Live2D制作软件
  12. 面向能源互联网的多端口DC/DC能源路由器控制策略研究
  13. 人人开源-renren-generator的基本使用
  14. iOS性能优化之内存篇
  15. 一则“HTTP 405 Method Not Allowed”的解决办法
  16. C语言和python实现——公鸡5文钱一只, 母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡
  17. chatter命令详解(用来记录知识)
  18. php 红包过期退回,RabbitMQ功能实现1- 红包未领取退回
  19. VGG16 VGG19
  20. 2022全网最全的持续集成基础【你知道的和不知道都在这里】

热门文章

  1. 利用CE修改内存方法通关
  2. netty系列之:让TLS支持http2
  3. CUDA学习(九):共享内存
  4. C# 十进制与十六进制互相转换
  5. [Linux 基础] -- V4L2 框架 - control
  6. UE4/5C++模块与插件
  7. 华为机试HJ49:多线程
  8. 优化ajax加载数据速度,通过ajax优化页面加载速度
  9. Linux开发环境搭建之python安装
  10. rap技术原理_RAP如何自动在 方法上生成前端开发文档