Python Numpy where-in函数与其他列匹配
我正在尝试使用np.where函数生成一个新的df列。具体来说,我想根据行中的标识符是否在不同数据帧中的标识符列表中生成一个二进制变量。请参阅下面的函数 这似乎是一个简单的函数——有人知道它为什么不工作吗?谢谢你的帮助Python Numpy where-in函数与其他列匹配,python,numpy,Python,Numpy,我正在尝试使用np.where函数生成一个新的df列。具体来说,我想根据行中的标识符是否在不同数据帧中的标识符列表中生成一个二进制变量。请参阅下面的函数 这似乎是一个简单的函数——有人知道它为什么不工作吗?谢谢你的帮助 df2['ETF-Heavy?']=np.where(df2['ID'] in df1['ID'], 1,0) 尝试使用.isin Ex: import pandas as pd import numpy as np df1 = pd.DataFrame({"ID": [1,
df2['ETF-Heavy?']=np.where(df2['ID'] in df1['ID'], 1,0)
尝试使用
.isin
Ex:
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
输出:
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
Ex:
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
输出:
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
非常感谢非常感谢