我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python pandas分割DataFrame中的字符串及元组的方法实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python pandas分割DataFrame中的字符串及元组的方法实现

1.使用str.split()方法

可以使用pandas 内置的 str.split() 方法实现分割字符串类型的数据,并将分割结果写入DataFrame中,以表格形式呈现。

语法:

Series.str.split(pat=None, n=-1, expand=False)

其中,pat是字符串或正则表达式,
n是一个整数数字,默认为-1。为0或-1时即为最大次数的分割。其他数值因数值而定。
expand为布尔类型,表示分割后是否转换为DataFrame。默认为False表示不转换。

首先准备一组DataFrame数据:

import pandas as pd

pd.set_option('display.unicode.east_asian_width', True)
address = ['重庆 重庆市 南岸区 ',
           '江苏省 苏州市 吴江区 吴江经济技术开发区亨通路',
           '江苏省 苏州市 园区 苏州市工业园区唯亭镇阳澄湖大道维纳阳光花园',
           '重庆 重庆市 南岸区 长生桥镇茶园新区长电路',
           '安徽省 滁州市 明光市 三界镇中心街10001号',
           '山东省 潍坊市 寿光市 圣城街道潍坊科技学院',
           '吉林省 长春市 二道区 东盛街道彩虹风景',
           '福建省 厦门市 湖里区 江头街道厦门市湖里区祥店福满园小区',
           '山西省 吕梁市 离石区 滨河街道山西省吕梁市离石区后瓦师巷',
           '河南省 濮阳市 华龙区 中原路街道中原路与107国道交叉口东',
           '广东省 深圳市 宝安区 松岗街道松岗镇潭头第二工业区',
           '河北省 石家庄市 辛集市 辛集镇辛集市新皮革城7期125楼',
           '广东省 深圳市 宝安区 松岗街道松岗镇潭头第二工业区',
           '贵州省 贵阳市 花溪区 党武镇师范大学师大超市',
           '广东省 深圳市 福田区 沙头街道上沙龙秋村五十巷',
           '福建省 福州市 闽侯县 上街镇福州闽侯上街国宾大道',
           '湖北省 鄂州市 鄂城区 西山街道江碧路和馨居',
           '上海 上海市 松江区',
           '山东省 青岛市 市北区',
           '山西省 晋中市 灵石县',
           '浙江省 杭州市 余杭区']
df = pd.DataFrame()
df['address'] = address
print(df)

原数据示例如下:

在这里插入图片描述

将address分割成不同的地理级别,结果生成一个DataFrame对象:

print("=======================================================================")
df1 = df['address'].str.split(' ', expand=True)
print(df1)

结果如下:

在这里插入图片描述

最后将结果放入原DataFrame中。

df['省'] = series[0]
df['市'] = series[1]
df['区'] = series[2]
df = df[['省', '市', '区']]
print(df)

在这里插入图片描述

2.使用join()与split()方法结合

import pandas as pd

pd.set_option('display.unicode.east_asian_width', True)
address = ['重庆 重庆市 南岸区 ',
           '江苏省 苏州市 吴江区 吴江经济技术开发区亨通路',
           '江苏省 苏州市 园区 苏州市工业园区唯亭镇阳澄湖大道维纳阳光花园',
           '重庆 重庆市 南岸区 长生桥镇茶园新区长电路',
           '安徽省 滁州市 明光市 三界镇中心街10001号',
           '山东省 潍坊市 寿光市 圣城街道潍坊科技学院',
           '吉林省 长春市 二道区 东盛街道彩虹风景',
           '福建省 厦门市 湖里区 江头街道厦门市湖里区祥店福满园小区',
           '山西省 吕梁市 离石区 滨河街道山西省吕梁市离石区后瓦师巷',
           '河南省 濮阳市 华龙区 中原路街道中原路与107国道交叉口东',
           '广东省 深圳市 宝安区 松岗街道松岗镇潭头第二工业区',
           '河北省 石家庄市 辛集市 辛集镇辛集市新皮革城7期125楼',
           '广东省 深圳市 宝安区 松岗街道松岗镇潭头第二工业区',
           '贵州省 贵阳市 花溪区 党武镇师范大学师大超市',
           '广东省 深圳市 福田区 沙头街道上沙龙秋村五十巷',
           '福建省 福州市 闽侯县 上街镇福州闽侯上街国宾大道',
           '湖北省 鄂州市 鄂城区 西山街道江碧路和馨居',
           '上海 上海市 松江区',
           '山东省 青岛市 市北区',
           '山西省 晋中市 灵石县',
           '浙江省 杭州市 余杭区']
df = pd.DataFrame()
df['address'] = address
df = df.join(df['address'].str.split(' ', expand=True))
print(df)

运行结果同上。

3. 使用apply方法分割元组

使用apply方法,将某个元素类型为元组的列,将其元组中的元素拆分为不同的列。

import pandas as pd

df = pd.DataFrame({'a': [1, 2, 3, 4, 5], 'b': [(1, 2), (3, 4), (5, 6), (7, 8), (9, 10)]})
print(df)
df[['b1', 'b2']] = df['b'].apply(pd.Series)
print(df)

在这里插入图片描述

或者也可以这样写:

import pandas as pd

df = pd.DataFrame({'a': [1, 2, 3, 4, 5], 'b': [(1, 2), (3, 4), (5, 6), (7, 8), (9, 10)]})
print(df)

df = df.join(df['b'].apply(pd.Series))
print(df)

在这里插入图片描述

参考资源: python数据分析从入门到精通 明日科技编著 清华大学出版社

到此这篇关于python pandas分割DataFrame中的字符串及元组的方法实现的文章就介绍到这了,更多相关python pandas分割DataFrame字符串及元组内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python pandas分割DataFrame中的字符串及元组的方法实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python中partition分割字符串的方法

小编给大家分享一下python中partition分割字符串的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、说明根据指定的分隔符分割文字符串。如果字串中含
2023-06-15

Java中实现String字符串分割的3种方法

这篇文章主要介绍了Java中实现String字符串分割的3种方法,文章底部介绍了JAVA 截取字符串的三种方法subString,StringUtils,split,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
2023-05-20

Oracle中分割字符串的方法实例代码

目录1. 使用 regexp_substr() 函数1.1 方式11.2 方式21.3 注意问题(尤其是存储过程中用到,可能会入坑)2. 自定义函数2.1 自定义类型 table2.2 自定义函数2.2.1 自定义函数2.2.2 效果如下:
2023-02-15

Python中的字符串切割和拼接方法有哪些?

Python中的字符串切割和拼接方法有很多种,下面将介绍其中常用的方法,并附上代码示例。使用split()方法进行字符串切割split()方法可以根据指定的分隔符将字符串切割成多个部分,返回一个包含切割后部分的列表。str1 = "Hell
2023-10-25

Python字符串、元组、列表、字典互相转换的方法

废话不多说了,直接给大家贴代码了,代码写的不好还去各位大侠见谅。#-*-coding:utf-8-*- #1、字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,
2022-06-04

Python 字符串使用多个分隔符分割成列表的2种方法

本文主要介绍了Python 字符串使用多个分隔符分割成列表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-14

python常用操作之使用多个界定符(分隔符)分割字符串的方法实例

在使用Python处理字符串的时候,有时候会需要分割字符,下面这篇文章主要给大家介绍了关于python常用操作之使用多个界定符(分隔符)分割字符串的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
2023-01-09

Python字符串的常用方法实例分析

这篇文章主要介绍“Python字符串的常用方法实例分析”,在日常操作中,相信很多人在Python字符串的常用方法实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python字符串的常用方法实例分析”的疑
2023-06-29

Python中拆分具有多个分隔符的字符串方法实例

str.split()是Python中字符串类型的一个方法,可以用来将字符串按照指定的分隔符分割成多个子字符串,这篇文章主要给大家介绍了关于Python中拆分具有多个分隔符的字符串的相关资料,需要的朋友可以参考下
2023-05-18

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录