Skip to main content

Common data transformations in Power Query

TransformationPower QueryPandas
1Removing ColumnsTable.RemoveColumns(Source, {"Column1", "Column2"})df.drop(columns=["Column1", "Column2"])
2Filtering RowsTable.SelectRows(Source, each [Column1] > 10)df[df["Column1"] > 10]
3Renaming ColumnsTable.RenameColumns(Source, { "OldName" => "NewName" })df.rename(columns={"OldName": "NewName"})
4Adding a New ColumnTable.AddColumn(Source, "NewColumn", each [Column1] * 2, type number)df["NewColumn"] = df["Column1"] * 2
5Changing Data TypeTable.TransformColumnTypes(Source, { "Column1", type number })df["Column1"] = df["Column1"].astype(int)
6Sorting DataTable.Sort(Source, {{"Column1", Order.Ascending}})df.sort_values(by="Column1", ascending=True)
7Grouping & AggregatingTable.Group(Source, {"Category"}, {{"Total", each List.Sum([Value]), type number}})df.groupby("Category")["Value"].sum().reset_index()
8Removing DuplicatesTable.Distinct(Source)df.drop_duplicates()
9Merging (Joining) TablesTable.NestedJoin(Source, "ID", OtherTable, "ID", "NewTable", JoinKind.LeftOuter)df.merge(other_df, on="ID", how="left")
10Pivoting DataTable.Pivot(Source, List.Distinct(Source[Category]), "Category", "Value", List.Sum)df.pivot_table(index="IndexColumn", columns="Category", values="Value", aggfunc="sum")
11Replacing Missing/Null ValuesTable.ReplaceValue(Source, null, 0, Replacer.ReplaceValue, {"Column1"})df["Column1"] = df["Column1"].fillna(0)
12Dropping Rows with NullsTable.SelectRows(Source, each [Column1] <> null)df.dropna(subset=["Column1"])
13Filling Missing ValuesTable.FillDown(Source, {"Column1"})df["Column1"] = df["Column1"].ffill()
14Unpivoting DataTable.UnpivotOtherColumns(Source, {"ID"}, "Attribute", "Value")df.melt(id_vars=["ID"], var_name="Attribute", value_name="Value")
15Pivoting Data (Wide Format)Table.Pivot(Source, List.Distinct(Source[Category]), "Category", "Value", List.Sum)df.pivot_table(index="ID", columns="Category", values="Value", aggfunc="sum")