pandas在结合多列数据产生新列时,匿名函数的传入参数还是一个,表达式中要使用时需要加上指定字段,当传如的多于一列时需要加axis。
只有一列时可加可不加。1
2for k in title_dict:
tmpDF[k.replace("$$","json")]=tmpDF["event_kv_json"].apply(lambda x:json.loads(x).get(k,""))
1 | tmpDF["custom"]=tmpDF["event_kv_json"].apply(lambda x: json.dumps({_:json.loads(x)[_] for _ in json.loads(x) if not _.startswith("$$")})) |
1 | tmpdf2["umid_diff2"]=tmpdf2[["point","umid_diff"]].apply(lambda x:True if x["point"]=="s" else x["umid_diff"] ,axis=1) |
也可以用apply来创建新的确定列1
df['a']=df.apply(lambda x:"", axis=1)