在关系数据库中创建二进制列的好方法?

时间:2019-06-03 07:46:41

标签: python pandas numpy

我正在构建一个主表,该表必须包含一些二进制列,具体取决于来自其他表的某些数据。让我举一个例子: 主表就像:日期| column_a | column_b | column_c | binarycolumn_a | ...

另一个表是:date | column_z。

因此,这里的主要目标是如果主表中的日期在另一个表中,则用1填充binarycolumn_a,否则用0填充。

我已经用pandas库编写了一个代码,其中包含比较主表和另一个表中的日期,但是主表很大,以至于要永远结束。由于我完全迷路,我正在寻找一种解决此问题的好方法。

谢谢。

1 个答案:

答案 0 :(得分:0)

正如anky_91和ALFAFA正确指出的那样,列比较的答案是:

df1['binarycolumn_a']=df1['date'].isin(df2['date]).astype(int)

对于两个(或多个)是:

df1['binarycolumn_a']=(df1['date'].isin(df2['date']) & 
df1['col_a'].isin(df2['col_z'])).astype(int)