Martin Bomio
10/10/2024, 5:44 PMMartin Bomio
10/10/2024, 5:44 PMRaunak Bhagat
10/10/2024, 6:01 PM{ "col_a": [1,2,3], "col_b": [4,5,6] }
# after gathering
{ "gathered": [{"col_a":1,"col_b":4}, {"col_a":2,"col_b":5}, {"col_a":3,"col_b":6}] }Raunak Bhagat
10/10/2024, 6:02 PMMartin Bomio
10/10/2024, 6:21 PMMartin Bomio
10/10/2024, 6:22 PMjay
10/10/2024, 6:44 PM.approx_count_distinct() as an aggregation, but Iโm guessing you want an exact variant of that?Martin Bomio
10/10/2024, 7:15 PMjay
10/10/2024, 7:59 PMjay
10/10/2024, 7:59 PMColin Ho
10/10/2024, 8:23 PMdf = daft.from_pydict({"unique_values": ["a", "b", "c", "b", "c", "c"]})
df = df.groupby("unique_values").agg(df["unique_values"].count().alias("count"))
df.show()
โญโโโโโโโโโโโโโโโโฌโโโโโโโโโฎ
โ unique_values โ count โ
โ --- โ --- โ
โ Utf8 โ UInt64 โ
โโโโโโโโโโโโโโโโโชโโโโโโโโโก
โ c โ 3 โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโค
โ a โ 1 โ
โโโโโโโโโโโโโโโโโผโโโโโโโโโค
โ b โ 2 โ
โฐโโโโโโโโโโโโโโโโดโโโโโโโโโฏColin Ho
10/10/2024, 8:34 PMimport daft
# Sample data dictionary
data = {
"id": [1, 2, 3, 4],
"platform": ["macos", "macos", "windows", "linux"]
}
# Create Daft DataFrame from the dictionary
df = daft.from_pydict(data)
# Add a column with constant values of 1 to indicate the presence of each category
df = df.with_column("value", daft.lit(1))
# Perform the pivot operation to create one-hot encoded columns
# We pivot on the "id" to keep rows unique and create columns for each "platform" with values of 1 where present, 0 otherwise
df_onehot = df.pivot(group_by="id", pivot_col="platform", value_col="value", agg_fn="sum")
# Display the result
df_onehot.show()
โญโโโโโโโโฌโโโโโโโโโโฌโโโโโโโโฌโโโโโโโโฎ
โ id โ windows โ macos โ linux โ
โ --- โ --- โ --- โ --- โ
โ Int64 โ Int64 โ Int64 โ Int64 โ
โโโโโโโโโชโโโโโโโโโโชโโโโโโโโชโโโโโโโโก
โ 2 โ None โ 1 โ None โ
โโโโโโโโโผโโโโโโโโโโผโโโโโโโโผโโโโโโโโค
โ 4 โ None โ None โ 1 โ
โโโโโโโโโผโโโโโโโโโโผโโโโโโโโผโโโโโโโโค
โ 1 โ None โ 1 โ None โ
โโโโโโโโโผโโโโโโโโโโผโโโโโโโโผโโโโโโโโค
โ 3 โ 1 โ None โ None โ
โฐโโโโโโโโดโโโโโโโโโโดโโโโโโโโดโโโโโโโโฏ
https://www.getdaft.io/projects/docs/en/stable/api_docs/doc_gen/dataframe_methods/daft.DataFrame.pivot.html#daft.DataFrame.pivotjay
10/10/2024, 8:35 PMMartin Bomio
10/10/2024, 8:38 PMjay
10/11/2024, 7:27 PM