吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1612|回复: 2
收起左侧

[Python 转载] 分享python pandas apply代码

[复制链接]
cqwcns 发表于 2020-12-6 12:24
以下apply代码实现的是新增一列,并根据“商户”的内容,来对新增列进行赋值(具体是判断商户包含regions 来确认区域),功能已实现。

另外,交流一下,我希望更复杂的判断,规则是:
先判断“范围”列,如果没有匹配结果,再判断“地址”列,如果还是没有匹配结果,再判断“商户”列,最后还是匹配结果的话就=“无匹配结果”。
不知道代码应该怎么写?会的指教一下,谢谢。

[Python] 纯文本查看 复制代码
import numpy as np
import pandas as pd
regions = ['高州', '茂南', '信宜', '化州']

symbol = ['BABA', 'JD', 'APPLE', 'MS', 'GS', 'WMT']
data = {'行业': ['电商', '电商', '科技', '金融', '金融', '零售'],
        '价格': [176.92, 25.95, 172.97, 41.79, 196.00, 99.55],
        '交易量': [16175610, 27113291, 18913154, 10132145, 2626634, 8086946],
        '雇员': [101550, 175336, 100000, 60348, 36600, 2200000],
        '范围': ['高州及镇隆周边', '公馆', '高山周边', '城区范围', '', '时代新城'],
        '地址': ['高州市公园路1号', '茂南大道东', '', '花园广场3楼', '', '信宜市世贸中心'],
        '商户': ['高州市金山建文电讯手机经营部W', '茂名市茂南区大众电脑维修部', '茂名市通汇电信器材有限公司(茂名通汇直营)W',
               '信宜市镇隆镇亚芳手机店W', '中移铁通有限公司化州运营中心W', '信宜市盛汇通讯器材商行W']}
df = pd.DataFrame(data, index=symbol)

df['区域'] = df['商户'].apply(lambda x: ''.join([y if x.find(y) >= 0 else '' for y in regions]))

print(df)

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

四块五的妞 发表于 2020-12-6 12:48
刚到if前来围观
hydai520 发表于 2020-12-6 13:51
 楼主| cqwcns 发表于 2020-12-7 09:18
已解决

[Python] 纯文本查看 复制代码
# 声明变量
listRegions = ['茂南', '电白', '高州', '化州', '信宜']
 
 
# 获得区域函数
def getRegion(x):
    for strRegion in range(len(listRegions)):
        if str(x.装维组用户班).find(listRegions[strRegion]) >= 0:
            return listRegions[strRegion]
 
    for strRegion in range(len(listRegions)):
        if str(x.五级地址名称).find(listRegions[strRegion]) >= 0:
            return listRegions[strRegion]
 
    for strRegion in range(len(listRegions)):
        if str(x.二级地址名称).find(listRegions[strRegion]) >= 0:
            return listRegions[strRegion]
 
 
...
# 调用
sheetOnTheWay['区域'] = sheetOnTheWay.apply(lambda x: getRegion(x), axis=1)
 
...
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 21:42

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表