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

 更新时间:2022年03月10日 10:23:26   作者:侯小啾  
本文主要介绍了python pandas分割DataFrame中的字符串及元组的方法实现,主要介绍了3种方法,具有一定的参考价值,感兴趣的可以了解一下

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字符串及元组内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python 动态规划问题解析(背包问题和最长公共子串)

    python 动态规划问题解析(背包问题和最长公共子串)

    这篇文章主要介绍了python 动态规划(背包问题和最长公共子串),在动态规划中,你要将某个指标最大化。在这个例子中,你要找出两个单词的最长公共子串。fish和fosh都包含的最长子串是什么呢,感兴趣的朋友跟随小编一起看看吧
    2022-05-05
  • python cookie反爬处理的实现

    python cookie反爬处理的实现

    这篇文章主要介绍了python cookie反爬处理的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • python模拟点击玩游戏的实例讲解

    python模拟点击玩游戏的实例讲解

    在本篇文章里小编给大家整理的是一篇关于python模拟点击玩游戏的实例讲解内容,有需要的朋友们可以学习下。
    2020-11-11
  • 解决Python安装cryptography报错问题

    解决Python安装cryptography报错问题

    这篇文章主要介绍了解决Python安装cryptography报错问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Python-GUI wxPython之自动化数据生成器的项目实战

    Python-GUI wxPython之自动化数据生成器的项目实战

    本文主要介绍了Python-GUI wxPython之自动化数据生成器实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • Pygame Event事件模块的详细示例

    Pygame Event事件模块的详细示例

    事件是Pygame的重要模块之一,比如鼠标点击、键盘敲击、游戏窗口移动、调整窗口大小、触发特定的情节、退出游戏等等,本文就详细的介绍一下具体用法,感兴趣的可以了解一下
    2021-11-11
  • python中csv文件创建、读取及修改等操作实例

    python中csv文件创建、读取及修改等操作实例

    很多程序在处理数据时都会碰到csv这种格式的文件,下面这篇文章主要给大家介绍了关于python中csv文件创建、读取及修改等操作的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • Python机器学习算法库scikit-learn学习之决策树实现方法详解

    Python机器学习算法库scikit-learn学习之决策树实现方法详解

    这篇文章主要介绍了Python机器学习算法库scikit-learn学习之决策树实现方法,结合实例形式分析了决策树算法的原理及使用sklearn库实现决策树的相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • Python如何获取系统iops示例代码

    Python如何获取系统iops示例代码

    这篇文章主要是介绍用python通过系统数据来获取磁盘的iops,便于监控使用情况,对于大家在安全监控方面很实用,有需要的朋友们可以参考借鉴。
    2016-09-09
  • Python贪心算法Greedy Algorithm解决案例小结

    Python贪心算法Greedy Algorithm解决案例小结

    这篇文章主要为大家介绍了Python贪心算法Greedy Algorithm解决案例小结,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06

最新评论