比较两列中的值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了比较两列中的值相关的知识,希望对你有一定的参考价值。
现在我有大量库存数据(2GB):
StockID date Industry code 1 Industry code 2
0 10000 1986-01-06 NaN 399
1 10000 1986-01-07 NaN 399
2 10000 1986-01-08 NaN 399
3 10000 1986-01-09 NaN 399
...
我想检查两件事,
- [如果股票实体曾经更改过其
Industry code 1
或Industry code 2
- 如果一个股票实体按一种行业代码分类为金融行业,而不按另一种行业代码分类(即,当
['Industry code 1']=52
至53
时为['Industry code 2']!=60
或70
,反之亦然)
答案
除非您具有数据历史记录,否则您不可能第一个问题。如果您有历史记录,那么您要做的就是检查当前数据帧值和旧值是否相同,如果不相同,则表示实体已更改。关于第二个问题,如果您使用的是像pandas这样的库,并且数据框存储在变量df中,则可以使用以下命令检查特定情况:
df[(df['Industry code 1'] == 52 | df['Industry code 1'] == 53) & (df['Industry code 2'] < 60 | df['Industry code 2'] > 70)]
此代码特定于您提供的示例,但是您可以对其进行修改以适合您要创建的任何子集。这为您提供了一个子集,您可以随便执行任何操作(请参阅哪些股票实体遵循该模式,总共有多少个实体,等等。)>希望有帮助!
以上是关于比较两列中的值的主要内容,如果未能解决你的问题,请参考以下文章
匹配两列中的单元格值,如果匹配,则将另一个值复制到空白单元格
如何在 SQL Redshift 中对表进行分区后比较两列的值