全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
1344 2
2018-02-07
有一个数据框df   某列的内容都是中文+字母+数字的格式例如

断肠草30g
狗尾吧草110kg
熊胆2g

想把这一列变成三列
断肠草     30    g
狗尾巴草   110   kg
这种格式 请问如何搞定呢,我发现有关分割中文这方面内容很少
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-3-30 17:46:02
正则
import reimport pandas as pd
def get_number(input):
    numeric_pattern = re.compile(r'[0-9']
    return ''.join(numeric_pattern.findall(input))
def  get_letter(input):
    lettern_pattern = re.compile(r'[a-zA-Z]')
    return ''.join(lettern_pattern.findall(input))
def get_chinese(input):
   pattern = re.compile('[0-9a-zA-Z']
  return pattern.sub('', input)


df['name']
断肠草30g
狗尾吧草110kg
熊胆2g

df['weight']  = df['name'].apply(get_numeric)
df['unit'] = df['name'].apply(get_letter)
df['name'] = df['name'].apply(get_chinese)

print(df) #即可
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-4-27 09:40:03
楼上正解
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群