gpt4 book ai didi

python - 使用 Groupby 将 value_counts 存储在 Dask Dataframe 的新列中

转载 作者:行者123 更新时间:2023-12-01 07:12:23 26 4
gpt4 key购买 nike

我曾经使用this solution计算并存储 Pandas 中列的 value_counts 并将结果存储在新列中。

现在我尝试对 Dask Dataframe 执行相同的操作,但会导致以下错误:

df['new_column'] = df.groupby(['A'])['B'].transform('count', meta='int').compute()

ValueError: cannot reindex from a duplicate axis

附注df 数据帧有四个分区。

如何计算A列的value_count并将其存储在Dask中的new_column中,与this answer相同?

最佳答案

如果您不需要坚持使用 transform (这是在最新的 dask 版本中引入的,请参阅 issue ),我建议您使用左合并,如以下代码所示。


import pandas as pd
import dask.dataframe as dd

df = pd.DataFrame({"A":[0,0,1,1,1,2,2],
"B":[1,2,3,4,5,6,7]})

df = dd.from_pandas(df, npartitions=2)

out = df.groupby("A")["B"]\
.count()\
.compute()\
.reset_index(name="new_column")

df = dd.merge(df, out, on=["A"], how="left")

关于python - 使用 Groupby 将 value_counts 存储在 Dask Dataframe 的新列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58145700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com