Power Query中Table.Distinct转Pandas实现及去重保留规则咨询
解答
Power Query Table.Distinct 的去重保留规则
使用Table.Distinct(table, columns)语法按指定列去重时,会默认保留每个重复值分组中排在最前面的第一行,既不会随机选择也不会保留最后一行。只要上一步#"Previous task"输出的表行顺序固定,该函数的输出结果就是固定可复现的。
Pandas 实现完全等效的去重效果
你可以直接使用Pandas的drop_duplicates方法对齐该逻辑,示例代码如下:
# 此处df对应Power Query中#"Previous task"步骤输出的表,需确保df的行顺序和Power Query中完全一致 output_df = df.drop_duplicates( subset=["column1"], keep="first", ignore_index=False )
参数说明:
subset=["column1"]:指定仅按column1字段判断重复,和Power Query的第二个入参作用完全一致keep="first":保留每个重复分组的第一行,完全匹配Power Query的默认逻辑ignore_index=False:保留原始行的索引,如果你需要重置输出表的索引,可将该参数改为True,不会影响行内容的一致性
注意:要保证最终输出和Power Query完全相同,必须确保导入Pandas的原始表和Power Query中
#"Previous task"输出的表行序完全一致,若导入过程中排序逻辑发生变化,去重结果也会出现偏差。
内容的提问来源于stack exchange,提问作者ImFabien75
相关产品推荐
相关产品推荐

