如何将为一个数字设计的函数应用到 pandas 中的整个数据帧?
How do I apply a function designed for one number to an entire dataframe in pandas?
我写了一个函数,其工作原理如下:matrix[24787][24788] = generate_value(source, 24787, 24788)
我想将其概括为 matrix = generate_value(source, <array of indices>, <array of columns>)
并填充整个矩阵。我该怎么做,而不是编写两个循环?
编辑:这里是 generate_value
-
def generate_value(source, id_a, id_b):
intersection = pd.merge(source.get_group(id_a), source.get_group(id_b), how='outer', on='merge_field')
intersection.val_x.fillna(value=0, inplace=True)
intersection.val_y.fillna(value=0, inplace=True)
intersection.total_value_differences = abs(intersection.val_x - intersection.val_y)
return sum(intersection.total_value_differences)
有需要我可以重写
目前 pandas 中的此功能似乎不可能。
我写了一个函数,其工作原理如下:matrix[24787][24788] = generate_value(source, 24787, 24788)
我想将其概括为 matrix = generate_value(source, <array of indices>, <array of columns>)
并填充整个矩阵。我该怎么做,而不是编写两个循环?
编辑:这里是 generate_value
-
def generate_value(source, id_a, id_b):
intersection = pd.merge(source.get_group(id_a), source.get_group(id_b), how='outer', on='merge_field')
intersection.val_x.fillna(value=0, inplace=True)
intersection.val_y.fillna(value=0, inplace=True)
intersection.total_value_differences = abs(intersection.val_x - intersection.val_y)
return sum(intersection.total_value_differences)
有需要我可以重写
目前 pandas 中的此功能似乎不可能。