我有一个函数正尝试应用于Pandas Dataframe,以便将该函数的输出另存为新列。我想对分组的Dataframe的列进行处理,其中包含每个组的行的索引。基于这些索引,函数确定行是否位于组的开始,中间或结尾。然后,我想将此输出保存到该行的新列中。
这是功能:
def add_position_within_group(self,group):
length_of_group = group.max()
three_lists = self.split_lists_into_three_parts(range(length_of_group))
for x in group:
if int(x) in three_lists[0]:
return 0
elif int(x) in three_lists[1]:
return 1
elif int(x) in three_lists[2]:
return 2
这就是我尝试应用的方式:
compound_data_frame["position_in_sequence"] = compound_data_frame.groupby('id')["group_index"].apply(self.add_position_within_group)
新列应具有0、1或2时具有所有NaN值。
任何帮助将不胜感激。