Dataframe一列分割成多列
Example分割成包含两个元素的list列按 ‘,’ 分割df['split'] = df.ls.str.split(',')按 ‘.’ 分割df['split'] = df.ls.str.split('.')按 ‘.’ 分割,从左边开始分割,只分割成两部分# split('分隔符', num=分割次数)df['split'] = df.ls.str.split('.', 1)按 ‘.’ 分割,
·
Example
分割成包含两个元素的list列
- 按 ‘,’ 分割
df['split'] = df.ls.str.split(',')
- 按 ‘.’ 分割
df['split'] = df.ls.str.split('.')
- 按 ‘.’ 分割,从左边开始分割,只分割成两部分
# split('分隔符', num=分割次数)
df['split'] = df.ls.str.split('.', 1)
- 按 ‘.’ 分割,从右边开始分割,只分割成两部分
# rsplit('分隔符', num=分割次数)
df['split'] = df.ls.str.rsplit('.', 1)
按同一符号分割成两列
# 直接在dataframe里分割
df['split1'], df['split2'] = df['ls'].str.split(',', 1).str
同一符号分割成多列
Example
# 分割成多列
df['ls'].str.split('.', expand=True)
然后再和原dataframe合并一下,改一下列名就好了
# 完整过程
df_tmp = df['ls'].str.split('.', expand=True)
df= pd.concat([df, df_tmp], axis=1)
df.rename(columns={0:'a',1:'b', 2:'c', 3:'d'},inplace=True)
按多种符号分割
import re
a = '素人.不化妆,素人.素颜'
re.split('[,.]', a)
# output
['素人', '不化妆', '素人', '素颜']
参考来源:
dataframe一列分多列,多个分隔符分割字符串等等,还有交换列顺序
pandas的字符串的分割之str.split()
更多推荐
已为社区贡献9条内容
所有评论(0)