import pandas as pd
import numpy as np
table = pd.DataFrame({'cnt1':[1,2,np.nan,4,np.nan,6],
'cnt2':[5,10,np.nan,np.nan,6,10]})
#写成一句
table['sub'] = table.apply(lambda row: row['cnt1'] if (pd.isnull(row['cnt1']) | pd.isnull(row['cnt2'])) else (row['cnt1']-row['cnt2']),axis = 1 )
#写成函数
def my_test(x,y):
if pd.isnull(x) | pd.isnull(y):
return x
else:
return x-y
table['sub'] = table.apply(lambda row: my_test(row['cnt1'],row['cnt2']),axis = 1 )
pandas的apply函数作用于多列
猜你喜欢
转载自blog.csdn.net/yuxeaotao/article/details/89492717
今日推荐
周排行