楼主: falseform
1398 2

[问答] 如何实现分割中文和数字字母 [推广有奖]

  • 0关注
  • 0粉丝

已卖:422份资源

硕士生

30%

还不是VIP/贵宾

-

威望
0
论坛币
19000 个
通用积分
1.4873
学术水平
2 点
热心指数
0 点
信用等级
0 点
经验
4941 点
帖子
91
精华
0
在线时间
133 小时
注册时间
2017-9-19
最后登录
2019-8-15

楼主
falseform 发表于 2018-2-7 17:23:10 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
有一个数据框df   某列的内容都是中文+字母+数字的格式例如

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

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

扫码加我 拉你入群

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

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

关键词:如何实现 狗尾巴草 数据框 狗尾巴

沙发
wanlin000 发表于 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) #即可

藤椅
hanhyojoo1992 发表于 2018-4-27 09:40:03
楼上正解

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-24 15:02