0%

pandas使用匿名函数处理多列时需要加axis=1

pandas在结合多列数据产生新列时,匿名函数的传入参数还是一个,表达式中要使用时需要加上指定字段,当传如的多于一列时需要加axis。
只有一列时可加可不加。

1
2
for 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)