gpt4 book ai didi

python-3.x - 比较 Pandas 中的 ID 日期组合

转载 作者:行者123 更新时间:2023-12-02 19:14:23 25 4
gpt4 key购买 nike

我是 Pandas 的初学者,想知道如何将一个数据框中的行对组合与另一个进行比较。

我有 df:

    id  dates
0 A 2000-01-01
1 B 2000-01-02
2 C 2000-01-03

并想将其与 df2 进行比较:

    id  dates
0 A 2000-01-01
1 B 2000-01-03
2 C 2000-01-01
3 D 2000-01-04
4 E 2000-01-05

对于 df2 中的每个特定 id,它将相应的日期与 df1 进行比较(并告诉我 df1 中的日期是在日期还是晚于 df2 中的日期)

所以我应该得到:

    id  dates       later
0 A 2000-01-01 1
1 B 2000-01-02 0
2 C 2000-01-03 1

考虑这个问题的好方法是什么?

谢谢!

最佳答案

方法1:您可以使用Series.map将日期从df2映射到df1,基于id,然后使用 Series.ge 比较相应的日期:

df1['later'] = df1['dates'].ge(df1['id'].map(df2.set_index('id')['dates'])).view('i1')

方法二:左合并dataframe df1df2,然后用Series.ge比较对应日期:

df = df1.merge(df2, on='id', suffixes=['', '_r'], how='left')
df['later'] = df['dates'].ge(df.pop('dates_r')).view('i1')

  id      dates  later
0 A 2000-01-01 1
1 B 2000-01-02 0
2 C 2000-01-03 1

关于python-3.x - 比较 Pandas 中的 ID 日期组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63879960/

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