我正在构建一个主表,该表必须包含一些二进制列,具体取决于来自其他表的某些数据。让我举一个例子: 主表就像:日期| column_a | column_b | column_c | binarycolumn_a | ...
另一个表是:date | column_z。
因此,这里的主要目标是如果主表中的日期在另一个表中,则用1填充binarycolumn_a,否则用0填充。
我已经用pandas库编写了一个代码,其中包含比较主表和另一个表中的日期,但是主表很大,以至于要永远结束。由于我完全迷路,我正在寻找一种解决此问题的好方法。
谢谢。
答案 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)