现在有一个dataframe
![](http://tiebapic.baidu.com/forum/w%3D580/sign=d773b7ac87529822053339cbe7cb7b3b/9d581d30e924b8993851f25379061d950b7bf6c9.jpg?tbpicau=2025-02-23-05_e8b81bc74fbaffe981ccd9f77ec472b8)
其中A、B、C是子公司,D、E是分公司,
现在要新增一列‘子公司规模’,条件是:子公司而且销售额大于等于1000 ,达到如下效果
![](http://tiebapic.baidu.com/forum/w%3D580/sign=7a5fc5af1dd162d985ee621421dea950/7a9c1c178a82b90132c74858648da9773812efd0.jpg?tbpicau=2025-02-23-05_c8fbad0ca9878d2b9bf52876bb6241ca)
我的代码是:
import pandas as pd
zgs=['A','B','C']
df=pd.DataFrame({'单位':['A','B','C','D','E'],'销售额':[1200,800,1500,900,600]})
df['判断']=(df.单位.apply(lambda x:1 if x in zgs else 0))*(df.销售额.apply(lambda x:1 if x>=1000 else 0))
df['子公司规模']=df.判断.apply(lambda x:'大型子公司' if x==1 else '')
del df['判断']
df
我的方法是新增了辅助列 '判断',
df['判断']=(df.单位.apply(lambda x:1 if x in zgs else 0))*(df.销售额.apply(lambda x:1 if x>=1000 else 0))
df['子公司规模']=df.判断.apply(lambda x:'大型子公司' if x==1 else '')
感觉这个方法比较繁琐,
想请教大家是否有其他简便方法吗?
先谢谢大家了!
![](http://tiebapic.baidu.com/forum/w%3D580/sign=d773b7ac87529822053339cbe7cb7b3b/9d581d30e924b8993851f25379061d950b7bf6c9.jpg?tbpicau=2025-02-23-05_e8b81bc74fbaffe981ccd9f77ec472b8)
其中A、B、C是子公司,D、E是分公司,
现在要新增一列‘子公司规模’,条件是:子公司而且销售额大于等于1000 ,达到如下效果
![](http://tiebapic.baidu.com/forum/w%3D580/sign=7a5fc5af1dd162d985ee621421dea950/7a9c1c178a82b90132c74858648da9773812efd0.jpg?tbpicau=2025-02-23-05_c8fbad0ca9878d2b9bf52876bb6241ca)
我的代码是:
import pandas as pd
zgs=['A','B','C']
df=pd.DataFrame({'单位':['A','B','C','D','E'],'销售额':[1200,800,1500,900,600]})
df['判断']=(df.单位.apply(lambda x:1 if x in zgs else 0))*(df.销售额.apply(lambda x:1 if x>=1000 else 0))
df['子公司规模']=df.判断.apply(lambda x:'大型子公司' if x==1 else '')
del df['判断']
df
我的方法是新增了辅助列 '判断',
df['判断']=(df.单位.apply(lambda x:1 if x in zgs else 0))*(df.销售额.apply(lambda x:1 if x>=1000 else 0))
df['子公司规模']=df.判断.apply(lambda x:'大型子公司' if x==1 else '')
感觉这个方法比较繁琐,
想请教大家是否有其他简便方法吗?
先谢谢大家了!
![](http://hiphotos.baidu.com/%C4%CF%BE%A9%B5%C4%CC%EC/pic/item/1ee725d3572c11df58426f99632762d0f603c2bd.jpg?v=tbs)