gpt4 book ai didi

python - 根据条件合并数据帧

转载 作者:太空宇宙 更新时间:2023-11-03 15:46:21 24 4
gpt4 key购买 nike

我有 2 个 DataFrame

df1 由列组成:person_id,day,flag

df2 由列组成:person_id,day_start,day_end

我想添加到 df2 列 num_flags这将显示 flag 的总和person_id内的栏目和day_start < day < day_end间隔。

在没有复杂循环的情况下,哪种方法最快?我正在寻找快速解决方案,例如 merge

最佳答案

>>> df = pd.merge(df1,df2, on="person_id", how="outer")
>>> df["lies_between"] = df.day.between(df.day_start, df.day_end,inclusive=False)
>>> x = pd.pivot_table(df,values="flags",columns="lies_between", index="person_id",aggfunc=np.sum)
>>> x.reset_index(drop=False,inplace=True)
>>> x[["person_id", True]]

这可能会有所帮助:

>>> help(pandas.Series.between_time)

关于python - 根据条件合并数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41717553/

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