Pandas数据分析 - 分列 - split() 用法

函数用法:split(sep,n,expand=false)

sep表示用于分割的字符;

n表格分割成多少列;

expand表示是否展开为数据款,True输出Series,False输出Dataframe。

import numpy as np
import pandas as pd
# 将每个数据按照_分割返回结果默认是一个由列表组成的Series
s = pd.Series(['a_b_c', 'd_e_f', np.nan, 'g_h_i'])
s.str.split('_')

0    [a, b, c]
1    [d, e, f]
2          NaN
3    [g, h, i]
dtype: object
# 也可以通过.str.get()或者[]获取拆分后的某个数值
s.str.split('_').str.get(1)

0      b
1      e
2    NaN
3      h
dtype: object
s.str.split('_').str[1]

0      b
1      e
2    NaN
3      h
dtype: object
# 当然,也支持将其扩展为DataFrame.
# 可以将expand参数设置为True
s.str.split('_', expand=True)

	0	1	2
0	a	b	c
1	d	e	f
2	NaN	NaN	NaN
3	g	h	i



s.str.split('_', expand=False)

0    [a, b, c]
1    [d, e, f]
2          NaN
3    [g, h, i]
dtype: object
# 如上所示,如果直接分割,那么安装'_'分割,
# 每个字符便会被分割2次,该函数还可以通过
# 指定参数n的值来限定分割次数
s.str.split('_', expand=True, n=1)


0	1
0	a	b_c
1	d	e_f
2	NaN	NaN
3	g	h_i
# 如果使用了参数n ,可能有时会有需求,如果
# 想得到a_b, c组合而不是a, b_c组合
# pandas为此专门提供了另一个方法,rsplit(reverse split)
# 的意思,即反方向分割的意思

s.str.rsplit('_', expand=True, n=1)


	0	1
0	a_b	c
1	d_e	f
2	NaN	NaN
3	g_h	i

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值