设为首页收藏本站
天天打卡

 找回密码
 立即注册
搜索
查看: 55|回复: 16

pandas数据分列实现分割符号&固定宽度

[复制链接]

1

主题

53

回帖

129

积分

注册会员

积分
129
发表于 2024-4-20 09:44:05 | 显示全部楼层 |阅读模式
目录


背景

数据分列在数据处理中很常见,数据分列一般指的都是字符串分割,这个功能在Excel里面很实用,处理数据非常方便,那么在pandas数据框中怎么使用呢,今天这篇文章就来详细介绍下

分列


模拟数据

以下面这9行数据作为案例来进行处理

模拟数据


读取数据
  1. #加载库
  2. import pandas as pd

  3. #读取数据
  4. data=pd.read_excel('data.xlsx')
复制代码

读取数据


分割符号分列

主要运用了pandas里面列的
  1. str
复制代码
属性,
  1. str
复制代码
有很多的方法,感性的同学可以自动查找,这里不做过多介绍。分割字符用到的就是
  1. split
复制代码
方法重点:在分割前一定要把该列强制转换为字符型
  1. #对指定列进行分割
  2. split_data_1=data['分割字符'].astype('str').str.split('&',expand=True)

  3. #修改分割后的字段名称
  4. split_data_1.columns=['D_'+str(i) for i in split_data_1.columns]

  5. #与原始数据进行合并
  6. data_result=data.join(split_data_1)
复制代码

分割符号


固定宽度分列

pandas里面没有固定分割的相应函数,这里巧妙的运用了辅助函数来进行处理,这里的固定宽度为1
  1. #定义个辅助函数
  2. def concat_split(x,width=1):
  3.     result=''
  4.     start=0
  5.     while True:
  6.         s=str(x)[start:start+width]
  7.         
  8.         if s:
  9.             result =result + s + '&'
  10.         else:
  11.             break
  12.         start=start+width
  13.         
  14.     return result[:-1]

  15. #先利用辅助函数,再进行分割
  16. split_data_2=data['固定宽度'].map(concat_split).str.split('&',expand=True)

  17. #修改分割后的字段名称
  18. split_data_2.columns=['W_'+str(i) for i in split_data_2.columns]

  19. #与原始数据进行合并
  20. data_result=data.join(split_data_2)
复制代码

固定宽度

到此这篇关于pandas数据分列实现分割符号&固定宽度的文章就介绍到这了,更多相关pandas数据分列内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

1

主题

49

回帖

120

积分

注册会员

积分
120
发表于 2024-5-14 08:44:40 | 显示全部楼层
已测试,非常不错

1

主题

55

回帖

133

积分

注册会员

积分
133
发表于 2024-5-27 03:17:05 | 显示全部楼层
谢谢你的提醒,我会注意的。

5

主题

70

回帖

252

积分

中级会员

积分
252
发表于 2024-6-3 13:57:29 | 显示全部楼层
看了LZ的帖子,我只想说一句很好很强大!

1

主题

57

回帖

136

积分

注册会员

积分
136
发表于 2024-6-12 04:09:22 | 显示全部楼层
顶一个,观点非常中肯!

1

主题

37

回帖

97

积分

注册会员

积分
97
发表于 2024-6-19 22:47:19 | 显示全部楼层
谢谢你的提醒,我会注意的。

0

主题

63

回帖

127

积分

注册会员

积分
127
发表于 2024-6-22 13:09:53 | 显示全部楼层
非常感谢你的观点,让我受益良多!

1

主题

55

回帖

128

积分

注册会员

积分
128
发表于 2024-6-25 19:19:22 | 显示全部楼层
说得太好了,完全同意!

2

主题

47

回帖

135

积分

注册会员

积分
135
发表于 2024-6-28 11:12:44 | 显示全部楼层
谢谢你的提醒,我会注意的。

1

主题

30

回帖

84

积分

注册会员

积分
84
发表于 2024-7-5 00:10:41 | 显示全部楼层
嘎嘎嘎嘎嘎嘎嘎
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|爱云论坛 - d.taiji888.cn - 技术学习 免费资源分享 ( 蜀ICP备2022010826号 )|天天打卡

GMT+8, 2024-11-15 05:23 , Processed in 0.097024 second(s), 27 queries .

Powered by i云网络 Licensed

© 2023-2028 正版授权

快速回复 返回顶部 返回列表