全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
1340 6
2021-11-10
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

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

扫码加我 拉你入群

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

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

全部回复
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)

二维码

扫码加我 拉你入群

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

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

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
二维码

扫码加我 拉你入群

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

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

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)
二维码

扫码加我 拉你入群

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

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

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
二维码

扫码加我 拉你入群

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

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

2021-11-11 00:25:32
code附件
附件列表

字典匹配.zip

大小:726 Bytes

 马上下载

本附件包括:

  • 字典匹配.py

二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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