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



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

另一个表类似于:date | column_z。

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

我已经用 pandas 库编写了一个代码,包括比较主表和另一个表中的日期,但主表太大了,需要很长时间才能结束。我正在寻找一种面对这个问题的好方法,因为我完全迷失了。

提前谢谢你。

正如 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)

最新更新