df[A] = calculate_fee(df[B], df[C], df[D], System_Ch, df[CE][df.index].values)
我通过调用函数A
来创建新列calculate_fee
,函数中的最后一个参数应该是一个值,而不是整个序列。
因此,在创建列E
时,我需要从当前运行索引中的列A
中选取值。
答案 0 :(得分:0)
要获取索引值,可以使用.iloc,如下所示:
>> import pandas as pd
>> mydict = [{'a': 1, 'b': 2, 'c': 3, 'd': 4},{'a': 100, 'b': 200, 'c': 300, 'd': 400},{'a': 1000, 'b': 2000 , 'c': 3000, 'd': 4000 }]
>> index = 0 # this should come during the iteration
>> df_1 = pd.DataFrame(mydict)
>> df_1['c'].iloc[index] # also df_1['c'][index]
>> 3
>> # In your example
>> df_1['A'] = calculate_fee(df_1['a'], df_1['b'], df_1['c'], System_Ch, df_1['d'].iloc[index])