我使用一个数据框(NewList)计算一个变量(NPQ),然后将这个变量(一个列表)保存到原始数据框的一列中。我收到错误消息。
def NPQ_calculation(NewList): #this is the dataframe
Fm_prime = NewList.iloc[0:7, 1] #2nd column in dataframe
NPQ = []
NPQ.append(Fm/Fm_prime - 1) #Fm is the 4th column in dataframe
return NPQ # this is the variable I want to add
# call function for NPQ calculation
NPQ = NPQ_calculation(NewList)
###PROBLEM
NewList['NPQ']= NPQ
这是我收到的错误消息:
ValueError: Length of values does not match length of index
这是我要向其添加新列(NPQ)的原始数据帧[![我使用第二和第四列进行NPQ的计算,并希望将结果添加到最后一列中] [2]] [2])
答案 0 :(得分:0)
将NPQ
设为DataFrame
,然后将其附加到原始框架中,例如:
NPQ_data = NPQ_calculation(NewList)
NPQ_df = pd.DataFrame({'NPQ': NPQ_DATA})
NewList = pd.concat([NewList, NPQ_df], axis=1)
注意:从评论中发布答案,以便可以将问题标记为已解决。仍可能是this post的副本。