Простое преобразование в фрейме данных Dask дает неожиданный результат ⇐ Python
-
Anonymous
Простое преобразование в фрейме данных Dask дает неожиданный результат
У меня есть, казалось бы, простая задача: вычислить сгруппированный совокупный («рабочий») минимум столбца Dask DataFrame.
Мой фрейм данных выглядит так:
импортировать панд как pd импортировать numpy как np импортировать dask.dataframe как dd df = pd.DataFrame(np.random.randint(0, 100, size=(100000, 4)), columns=list("ABCD")) df["id"] = np.random.choice(["a", "b", "c", "d", "e"], 100000) df["col"] = np.random.choice(["X", "Y", "Z", "G"], 100000) df = dd.from_pandas(df, npartitions=2) df = df.set_index("id") Теперь я хочу добавить столбец в df, который содержит совокупный («рабочий») минимум столбца A, сгруппированный по столбцу col . Я пробовал следующее:
res = df.groupby("col")["A"].transform("cummin", Meta = ("a", "f8")) .compute() но когда я сравниваю результат с тем, каким он должен быть:
res df.compute() они отличаются тем, что res кажется смещенным. Кто-нибудь знает, как это исправить?
У меня есть, казалось бы, простая задача: вычислить сгруппированный совокупный («рабочий») минимум столбца Dask DataFrame.
Мой фрейм данных выглядит так:
импортировать панд как pd импортировать numpy как np импортировать dask.dataframe как dd df = pd.DataFrame(np.random.randint(0, 100, size=(100000, 4)), columns=list("ABCD")) df["id"] = np.random.choice(["a", "b", "c", "d", "e"], 100000) df["col"] = np.random.choice(["X", "Y", "Z", "G"], 100000) df = dd.from_pandas(df, npartitions=2) df = df.set_index("id") Теперь я хочу добавить столбец в df, который содержит совокупный («рабочий») минимум столбца A, сгруппированный по столбцу col . Я пробовал следующее:
res = df.groupby("col")["A"].transform("cummin", Meta = ("a", "f8")) .compute() но когда я сравниваю результат с тем, каким он должен быть:
res df.compute() они отличаются тем, что res кажется смещенным. Кто-нибудь знает, как это исправить?