pandas快速从一列中提取数字

我有一个表格,里面的一列是文本,我向快速的提取其中的数字

可以这样。

 比如提取生命值。使用这种方式:

df['temp'] =df['life'].str.extract("(\d+)")

这样就可以提取数字了。

当然最笨的办法是一步一步操作。

life_num = []
for i in range(df.shape[0]):
    x = df.iloc[i]['life']
    y = x.split(":")[-1].split(" ")[0].strip()
    z = int(y)
    life_num.append(z)
    
life_num
df['life_num'] = life_num
df['life_num'].max()

但是这样操作一点都不pathnic。

另外如果要对每一列都操作,最好写一个函数。

还有一种就是用apply

稍微麻烦

def str2num(astr):
    return int(re.search(r'\d+', astr).group())

str2num(a)

df['magic'].apply(str2num)
df['magic2']  = df['magic'].apply(str2num)
df['magic2'].max()

也能实现这个功能。为了以后演示方便,把数据放着了,以后好找。

'{"hero":{"0":"高渐离","1":"姜子牙","2":"典韦","3":"甄姬","4":"鲁班七号","5":"刘禅","6":"亚瑟","7":"老夫子","8":"妲己","9":"小乔","10":"安琪拉","11":"扁鹊","12":"狄仁杰","13":"韩信","14":"程咬金","15":"项羽","16":"孙膑","17":"钟无艳","18":"嬴政","19":"武则天","20":"庄周","21":"达摩","22":"王昭君","23":"孙尚香","24":"赵云","25":"廉颇","26":"墨子","27":"阿轲","28":"白起","29":"吕布","30":"孙悟空","31":"曹操","32":"牛魔","33":"貂蝉","34":"芈月","35":"张良","36":"周瑜","37":"李白","38":"娜可露露","39":"兰陵王","40":"花木兰","41":"宫本武藏","42":"露娜","43":"刘备","44":"后羿","45":"钟馗","46":"张飞","47":"李元芳","48":"刘邦","49":"不知火舞","50":"虞姬","51":"关羽","52":"蔡文姬","53":"夏侯惇","54":"雅典娜","55":"橘右京"},"life":{"0":"最大生命:3122 点","1":"最大生命:2958 点","2":"最大生命:3434 点","3":"最大生命:3041 点","4":"最大生命:3401 点","5":"最大生命:3364 点","6":"最大生命:3622 点","7":"最大生命:3370 点","8":"最大生命:3229 点","9":"最大生命:3088 点","10":"最大生命:3323 点","11":"最大生命:3205 点","12":"最大生命:3242 点","13":"最大生命:2988 点","14":"最大生命:3437 点","15":"最大生命:3535 点","16":"最大生命:3208 点","17":"最大生命:3150 点","18":"最大生命:3125 点","19":"最大生命:2860 点","20":"最大生命:3311 点","21":"最大生命:3213 点","22":"最大生命:3083 点","23":"最大生命:3235 点","24":"最大生命:3267 点","25":"最大生命:3558 点","26":"最大生命:3083 点","27":"最大生命:3269 点","28":"最大生命:3510 点","29":"最大生命:3564 点","30":"最大生命:3305 点","31":"最大生命:3531 点","32":"最大生命:3537 点","33":"最大生命:3019 点","34":"最大生命:3105 点","35":"最大生命:3027 点","36":"最大生命:3093 点","37":"最大生命:2968 点","38":"最大生命:3239 点","39":"最大生命:3292 点","40":"最大生命:2886 点","41":"最大生命:2902 点","42":"最大生命:3021 点","43":"最大生命:3081 点","44":"最大生命:3182 点","45":"最大生命:3420 点","46":"最大生命:3450 点","47":"最大生命:3007 点","48":"最大生命:3369 点","49":"最大生命:3235 点","50":"最大生命:2977 点","51":"最大生命:3322 点","52":"最大生命:3238 点","53":"最大生命:3307 点","54":"最大生命:2862 点","55":"最大生命:3150 点"},"magic":{"0":"最大法力:490 点","1":"最大法力:490 点","2":"最大法力:430 点","3":"最大法力:490 点","4":"最大法力:440 点","5":"最大法力:420 点","6":"最大法力:0 点","7":"最大法力:430 点","8":"最大法力:490 点","9":"最大法力:490 点","10":"最大法力:490 点","11":"最大法力:490 点","12":"最大法力:440 点","13":"最大法力:430 点","14":"最大法力:0 点","15":"最大法力:420 点","16":"最大法力:470 点","17":"最大法力:430 点","18":"最大法力:490 点","19":"最大法力:490 点","20":"最大法力:420 点","21":"最大法力:420 点","22":"最大法力:490 点","23":"最大法力:440 点","24":"最大法力:430 点","25":"最大法力:420 点","26":"最大法力:420 点","27":"最大法力:0 点","28":"最大法力:420 点","29":"最大法力:0 点","30":"最大法力:430 点","31":"最大法力:0 点","32":"最大法力:470 点","33":"最大法力:490 点","34":"最大法力:100 点","35":"最大法力:490 点","36":"最大法力:490 点","37":"最大法力:450 点","38":"最大法力:450 点","39":"最大法力:450 点","40":"最大法力:0 点","41":"最大法力:0 点","42":"最大法力:450 点","43":"最大法力:440 点","44":"最大法力:440 点","45":"最大法力:490 点","46":"最大法力:100 点","47":"最大法力:440 点","48":"最大法力:470 点","49":"最大法力:200 点","50":"最大法力:440 点","51":"最大法力:10 点","52":"最大法力:470 点","53":"最大法力:430 点","54":"最大法力:430 点","55":"最大法力:0 点"},"attack":{"0":"物理攻击:163 点","1":"物理攻击:168 点","2":"物理攻击:168 点","3":"物理攻击:165 点","4":"物理攻击:174 点","5":"物理攻击:178 点","6":"物理攻击:164 点","7":"物理攻击:168 点","8":"物理攻击:170 点","9":"物理攻击:153 点","10":"物理攻击:170 点","11":"物理攻击:168 点","12":"物理攻击:169 点","13":"物理攻击:172 点","14":"物理攻击:161 点","15":"物理攻击:157 点","16":"物理攻击:176 点","17":"物理攻击:164 点","18":"物理攻击:157 点","19":"物理攻击:173 点","20":"物理攻击:170 点","21":"物理攻击:171 点","22":"物理攻击:165 点","23":"物理攻击:172 点","24":"物理攻击:173 点","25":"物理攻击:163 点","26":"物理攻击:181 点","27":"物理攻击:177 点","28":"物理攻击:158 点","29":"物理攻击:170 点","30":"物理攻击:167 点","31":"物理攻击:174 点","32":"物理攻击:156 点","33":"物理攻击:167 点","34":"物理攻击:152 点","35":"物理攻击:170 点","36":"物理攻击:160 点","37":"物理攻击:169 点","38":"物理攻击:173 点","39":"物理攻击:171 点","40":"物理攻击:170 点","41":"物理攻击:157 点","42":"物理攻击:163 点","43":"物理攻击:169 点","44":"物理攻击:161 点","45":"物理攻击:162 点","46":"物理攻击:153 点","47":"物理攻击:161 点","48":"物理攻击:158 点","49":"物理攻击:170 点","50":"物理攻击:165 点","51":"物理攻击:170 点","52":"物理攻击:159 点","53":"物理攻击:159 点","54":"物理攻击:162 点","55":"物理攻击:165 点"},"defend":{"0":"物理防御:98 点","1":"物理防御:106 点","2":"物理防御:89 点","3":"物理防御:87 点","4":"物理防御:88 点","5":"物理防御:139 点","6":"物理防御:98 点","7":"物理防御:100 点","8":"物理防御:86 点","9":"物理防御:95 点","10":"物理防御:83 点","11":"物理防御:87 点","12":"物理防御:95 点","13":"物理防御:92 点","14":"物理防御:125 点","15":"物理防御:123 点","16":"物理防御:98 点","17":"物理防御:100 点","18":"物理防御:91 点","19":"物理防御:95 点","20":"物理防御:150 点","21":"物理防御:95 点","22":"物理防御:91 点","23":"物理防御:89 点","24":"物理防御:84 点","25":"物理防御:132 点","26":"物理防御:102 点","27":"物理防御:89 点","28":"物理防御:120 点","29":"物理防御:99 点","30":"物理防御:98 点","31":"物理防御:104 点","32":"物理防御:109 点","33":"物理防御:87 点","34":"物理防御:88 点","35":"物理防御:87 点","36":"物理防御:87 点","37":"物理防御:98 点","38":"物理防御:86 点","39":"物理防御:85 点","40":"物理防御:86 点","41":"物理防御:106 点","42":"物理防御:102 点","43":"物理防御:88 点","44":"物理防御:86 点","45":"物理防御:99 点","46":"物理防御:125 点","47":"物理防御:87 点","48":"物理防御:125 点","49":"物理防御:89 点","50":"物理防御:84 点","51":"物理防御:101 点","52":"物理防御:96 点","53":"物理防御:101 点","54":"物理防御:106 点","55":"物理防御:96 点"},"speed":{"0":"移速:370 点","1":"移速:350 点","2":"移速:370 点","3":"移速:360 点","4":"移速:360 点","5":"移速:380 点","6":"移速:390 点","7":"移速:390 点","8":"移速:350 点","9":"移速:350 点","10":"移速:360 点","11":"移速:350 点","12":"移速:360 点","13":"移速:380 点","14":"移速:380 点","15":"移速:370 点","16":"移速:350 点","17":"移速:380 点","18":"移速:350 点","19":"移速:350 点","20":"移速:390 点","21":"移速:380 点","22":"移速:350 点","23":"移速:350 点","24":"移速:380 点","25":"移速:370 点","26":"移速:380 点","27":"移速:380 点","28":"移速:390 点","29":"移速:370 点","30":"移速:380 点","31":"移速:380 点","32":"移速:380 点","33":"移速:350 点","34":"移速:370 点","35":"移速:350 点","36":"移速:350 点","37":"移速:390 点","38":"移速:380 点","39":"移速:400 点","40":"移速:380 点","41":"移速:400 点","42":"移速:380 点","43":"移速:350 点","44":"移速:360 点","45":"移速:360 点","46":"移速:380 点","47":"移速:350 点","48":"移速:380 点","49":"移速:390 点","50":"移速:350 点","51":"移速:380 点","52":"移速:360 点","53":"移速:380 点","54":"移速:410 点","55":"移速:390 点"},"temp":{"0":"3122","1":"2958","2":"3434","3":"3041","4":"3401","5":"3364","6":"3622","7":"3370","8":"3229","9":"3088","10":"3323","11":"3205","12":"3242","13":"2988","14":"3437","15":"3535","16":"3208","17":"3150","18":"3125","19":"2860","20":"3311","21":"3213","22":"3083","23":"3235","24":"3267","25":"3558","26":"3083","27":"3269","28":"3510","29":"3564","30":"3305","31":"3531","32":"3537","33":"3019","34":"3105","35":"3027","36":"3093","37":"2968","38":"3239","39":"3292","40":"2886","41":"2902","42":"3021","43":"3081","44":"3182","45":"3420","46":"3450","47":"3007","48":"3369","49":"3235","50":"2977","51":"3322","52":"3238","53":"3307","54":"2862","55":"3150"},"life_num":{"0":3122,"1":2958,"2":3434,"3":3041,"4":3401,"5":3364,"6":3622,"7":3370,"8":3229,"9":3088,"10":3323,"11":3205,"12":3242,"13":2988,"14":3437,"15":3535,"16":3208,"17":3150,"18":3125,"19":2860,"20":3311,"21":3213,"22":3083,"23":3235,"24":3267,"25":3558,"26":3083,"27":3269,"28":3510,"29":3564,"30":3305,"31":3531,"32":3537,"33":3019,"34":3105,"35":3027,"36":3093,"37":2968,"38":3239,"39":3292,"40":2886,"41":2902,"42":3021,"43":3081,"44":3182,"45":3420,"46":3450,"47":3007,"48":3369,"49":3235,"50":2977,"51":3322,"52":3238,"53":3307,"54":2862,"55":3150},"magic2":{"0":490,"1":490,"2":430,"3":490,"4":440,"5":420,"6":0,"7":430,"8":490,"9":490,"10":490,"11":490,"12":440,"13":430,"14":0,"15":420,"16":470,"17":430,"18":490,"19":490,"20":420,"21":420,"22":490,"23":440,"24":430,"25":420,"26":420,"27":0,"28":420,"29":0,"30":430,"31":0,"32":470,"33":490,"34":100,"35":490,"36":490,"37":450,"38":450,"39":450,"40":0,"41":0,"42":450,"43":440,"44":440,"45":490,"46":100,"47":440,"48":470,"49":200,"50":440,"51":10,"52":470,"53":430,"54":430,"55":0}}'

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值