|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import pandas as pd
- def c(x):
- if x["类别1"]>0 and x["类别1"]<8:
- return 7
- return x["类别2"]
- data=[['1','2'],['0','5'],['4','2'],['8','6'],['6','4']]
- df=pd.DataFrame(data,columns=['类别1','类别2'],dtype=int)
- #新增一个类别的列,用来判断类别1的状态,如果类别1在1-7之间则新增的列均返回7,如果类别1=0或者=8则返回类别2的值。下面调用函数和写的lambda匿名函数则报错。求大神指点
- df.loc[:"类别"]=df.apply(c,axis=1)
- df['类别']=lambda df['类别']:7 if df["类别1"]>0 and df["类别1"]<8 else df["类别2"]
复制代码
#新增一个类别的列,用来判断类别1的状态,如果类别1在1-7之间则新增的列均返回7,如果类别1=0或者=8则返回类别2的值。下面调用函数和写的lambda匿名函数则报错。求大神指点
- import pandas as pd
- def c(x,y):
- if int(x)>0 and int(x)<8:
- return 7
- else:
- return y
- data=[['1','2'],['0','5'],['4','2'],['8','6'],['6','4']]
- df=pd.DataFrame(data,columns=['类别1','类别2'],dtype=int)
- df["类别"]=df.apply(lambda a:c(a['类别1'],a['类别2']),axis=1)
复制代码
|
|