Python 如何在使用多个列和列名的熊猫中编写lambda表达式?
我想使用lambda表达式实现以下功能Python 如何在使用多个列和列名的熊猫中编写lambda表达式?,python,pandas,lambda,Python,Pandas,Lambda,我想使用lambda表达式实现以下功能 在名称位于“理想\素数\ fc”列中的列中查找值 在名称位于“prime_fc”列中的列中查找值 找到差异并放入新列“delta” 您想做以下工作吗 编写一个函数以减去两个素数值列中的值: def get_col_name(x): try: ip_fc = x['ideal_prime_fc'] p_fc = x['prime_fc'] return x[ip_fc]-x[p_fc] exce
您想做以下工作吗 编写一个函数以减去两个素数值列中的值:
def get_col_name(x):
try:
ip_fc = x['ideal_prime_fc']
p_fc = x['prime_fc']
return x[ip_fc]-x[p_fc]
except IndexError:
return float('NaN') # handle non-existent values however you'd prefer
应用函数,分配给新列:
df['diff'] = df.apply(lambda x: get_col_name(x), axis=1)
截断的示例输出:
983 976 ideal_prime_fc prime_fc diff
2835 780 973 805 NaN
8 2259 983 983 0.0
2851 796 973 805 NaN
13 7 983 976 6.0 # added for test
否。例如,在第0行中,理想_素数_fc=973,素数_fc=805。我想在列名中搜索805和973,并找到差异df.iloc[0]['973']-df.iloc[0]['805']@Vinay我已经根据您的澄清更新了我的答案,如果您有机会,请接受答案。