2024-05-03 12:27:37 发布
网友
我试图用np.where函数生成一个新的df列。具体来说,我想根据行中的标识符是否在不同数据帧中的标识符列表中生成一个二进制变量。请参阅下面的函数
这似乎是一个简单的函数-有人知道为什么它不工作吗?谢谢你的帮助
df2['ETF-Heavy?']=np.where(df2['ID'] in df1['ID'], 1,0)
尝试使用.isin
.isin
例如:
import pandas as pd import numpy as np df1 = pd.DataFrame({"ID": [1,2,3]}) df2 = pd.DataFrame({"ID": [1,21,31]}) df2['ETF-Heavy?'] = np.where(df2['ID'].isin(df1['ID']) , 1,0) print(df2)
输出:
ID ETF-Heavy? 0 1 1 1 21 0 2 31 0
尝试使用
.isin
例如:
输出:
相关问题 更多 >
编程相关推荐