2
我设法开发了我以前遇到的问题的答案(在此处找到:How can i create a ruleset to assign values to specific columns, based on searching substrings, in Pandas?)。从函数返回的多个值创建多个类别列
不过,我想知道是否有更有效的方法来做到这一点。我想创建多个分类列,基于我在描述列中搜索的字符串。
目前我的策略是如下:
android_phones = ['samsung','xperia','google']
iphone= ['iphone','apple']
def OS_rules(raw_Df):
val=''
if any(word in raw_Df['Names'].lower() for word in android_phones):
val='android'
elif any(word in raw_Df['Names'].lower() for word in iphone):
val='iPhone'
else: val = 'Handset'
return val
df.loc[:,'OS_Type']=df.apply(OS_rules,axis=1)
这一战略
不过,我需要用“几乎”相同的规则创建多种功能,但具有不同的返回值。
有没有办法从单个函数返回多个值?并将其应用于多个新列?
例如
if any(word in raw_Df['Names'].lower() for word in android_phones):
val1='android'
val2='pixel'
val3='vodafone'
etc etc等等,然后从那些创建新的列?