首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据其他两个数据格式的条件对列进行比较,从而创建2个新的数据格式?

如何根据其他两个数据格式的条件对列进行比较,从而创建2个新的数据格式?
EN

Stack Overflow用户
提问于 2020-12-16 17:03:30
回答 1查看 53关注 0票数 1

所以我有A桌:

代码语言:javascript
复制
    State   Date
0   NY      8/4/18
1   NY      4/3/18
2   GA      2/1/18
3   GA      10/11/18

如表B所示:

代码语言:javascript
复制
    State   Date
0   NY      5/2/18
1   GA      3/4/18

我希望将表B中的日期值与表A中的日期进行比较;如果表A中的日期为对应状态的表B中的日期,则将该行放在Dataframe 1中。否则,它将位于Dataframe 2中。结果集:

结果集A:

代码语言:javascript
复制
    State   Date    
0   NY      4/3/18
1   GA      2/1/18

结果集B:

代码语言:javascript
复制
    State   Date
2   NY      8/4/18
3   GA      10/11/18

比较这些列相当简单,我可以使用numpy,但我不确定如何将true和false划分为两个不同的数据集。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-16 17:40:10

您可以使用mergeAB来比较Date类似的列,以便创建一个布尔掩码,表示表A中的日期是对应状态的表B中的日期的条件,最后使用此掩码过滤行:

代码语言:javascript
复制
d = A.merge(B, on='State', how='left')
m = pd.to_datetime(d['Date_x']) <= pd.to_datetime(d['Date_y'])

df1, df2 = A[m].copy(), A[~m].copy()

结果:

代码语言:javascript
复制
print(df1)
  State    Date
1    NY  4/3/18
2    GA  2/1/18

print(df2)
  State      Date
0    NY    8/4/18
3    GA  10/11/18
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65327827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档