我一直在寻找使用numpy.where
比较特定数组项的方法。我有一个熊猫数据框,如下所示:
Id City UF
0 1 [5057, Itu, 26] [26, São Paulo]
1 2 [5366, Sorocaba, 26] None
2 3 [5347, São Paulo, 26] [26, São Paulo]
3 4 [3288, Curitiba, 18] [18, Paraná]
4 5 [162, Manaus, 3] [3, Amazonas]
我想针对每行将数组城市中的第三项与数组 UF 中的第一项进行比较。我已经这样尝试过:
np.where((pdf.loc[pdf['Cidade']:, 2] == pdf.loc[pdf['UF']:, 0]), True, False)
但是没有成功。我发现的每个相似样本都与比较整个数组有关。
感谢您的咨询。
答案 0 :(得分:0)
几乎你说的是@Mstaino。
使用下面的代码,我可以得到想要的东西:
np.where((pdf['Cidade'].apply(lambda x: x[2] if x is not None else None) == pdf['UF'].apply(lambda x: x[0] if x is not None else None)), True, False)
谢谢你的提示!