楼主: snile
1437 6

[问答] Python如何实现将多个字符串转换为数字 [推广有奖]

  • 0关注
  • 0粉丝

大专生

28%

还不是VIP/贵宾

-

威望
0
论坛币
19 个
通用积分
0.1198
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
426 点
帖子
23
精华
0
在线时间
46 小时
注册时间
2017-12-8
最后登录
2023-1-19

楼主
snile 发表于 2021-11-10 16:03:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
Python如何实现将多个字符串转换为数字,我目前有如下所示的纯字符串列表,共13个。能否将13个字符串转换为0-12的数字!请求大神指教!十分感谢!!
['acinar' 'activated_stellate' 'alpha' 'beta' 'delta' 'ductal' 'endothelial' 'epsilon' 'gamma' 'macrophage' 'mast' 'quiescent_stellate' 'schwann']

即将index下面14890个字符串 转换为对应的数字标签。其中,acinar对应0,activated_stellate对应1,schwann对应12。
index
0                     gamma
1                    acinar
2                     alpha
3                     delta
4                      beta
                ...        
14885    activated_stellate
14886                 alpha
14887                  beta
14888                  beta
14889                acinar

请求大神指教!十分感谢!!
二维码

扫码加我 拉你入群

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

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

关键词:python 如何实现 字符串 activated activate Python 字符串转换

回帖推荐

yunnandlg 发表于5楼  查看完整内容

import pandas as pd # 方法一: Type_Dict = { 'acinar':0 , 'activated_stellate':1 , 'alpha':2, 'beta':3, 'delta':4 , 'ductal':5 , 'endothelial':6 , 'epsilon':7 , 'gamma':8 , 'macrophage':9 , 'mast':10 , 'quiescent_stellate':11 , 'schwann':12 , } mylist = [ "gamma", "acinar", "alpha", "delta", "beta", "activated_stellate", ...

yunnandlg 发表于3楼  查看完整内容

# ********************************************************************* # 方法二: import pandas as pd typelist = [] # 存储对应编号的list t = 0 # 记录可以匹配到的个数 n = 0 # 记录不存在的个数 for i in range(len(mylist)): if mylist[i] in Type_Dict.keys(): typelist.append(Type_Dict[mylist[i) t = t+1 else: m.append("NaN") n = n+1 c={"name" : mylist, ...

沙发
yunnandlg 在职认证  学生认证  发表于 2021-11-11 00:16:11
# *********************************************************************
# 方法二:

import pandas as pd
typelist = []   # 存储对应编号的list
t = 0    # 记录可以匹配到的个数
n = 0    # 记录不存在的个数


for i in range(len(mylist)):
    if mylist[i] in Type_Dict.keys():
        typelist.append(Type_Dict[mylist[i)
t = t+1
    else:
        m.append("NaN")
n = n+1
c={"name" : mylist,
"type" : typelist}#将列表转换成字典
data=pd.DataFrame(c)#将字典转换成为数据框
print(data)

藤椅
yunnandlg 在职认证  学生认证  发表于 2021-11-11 00:16:39
输出结果:

                 name  type
0               gamma     8
1              acinar     0
2               alpha     2
3               delta     4
4                beta     3
5  activated_stellate     1
6               alpha     2
7                beta     3
8                beta     3
9              acinar     0

板凳
yunnandlg 在职认证  学生认证  发表于 2021-11-11 00:20:51

import pandas as pd

# 方法一:

Type_Dict = {
'acinar':0 ,
'activated_stellate':1 ,
'alpha':2,
'beta':3,
'delta':4 ,
'ductal':5 ,
'endothelial':6 ,
'epsilon':7 ,
'gamma':8 ,
'macrophage':9 ,
'mast':10 ,
'quiescent_stellate':11 ,
'schwann':12 ,
}

mylist = [ "gamma",
        "acinar",
        "alpha",
        "delta",
        "beta",
        "activated_stellate",
        "alpha",
        "beta",
        "beta",
        "acinar"
        ]

a = pd.DataFrame(mylist)
a.columns = ['name']
a['type'] = a['name'].map(Type_Dict)
print(a)

报纸
yunnandlg 在职认证  学生认证  发表于 2021-11-11 00:21:34
输出结果:

                 name  type
0               gamma     8
1              acinar     0
2               alpha     2
3               delta     4
4                beta     3
5  activated_stellate     1
6               alpha     2
7                beta     3
8                beta     3
9              acinar     0

地板
yunnandlg 在职认证  学生认证  发表于 2021-11-11 00:25:32
code附件

字典匹配.zip
下载链接: https://bbs.pinggu.org/a-3571486.html

726 Bytes

本附件包括:

  • 字典匹配.py

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

总评分: 学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

7
snile 发表于 2021-12-11 15:24:18
yunnandlg 发表于 2021-11-11 00:25
code附件
感谢大神耐心且细心的回复!!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 19:23