我有一个dataframe(dfdirnoswaps),其中一列包含isin,另一列包含所有行的一个值“Direction”。一个单独的数据帧(dfextended)只有一列也只包含isin,其中一些(但不一定全部)isin与另一个数据帧匹配。我希望能够匹配数据帧之间的公共isin,并且一旦这一点建立起来,仅当isin在两个数据帧中时,才将dfdirnoswaps中的另一列从“Direction”更改为“Extended”。在
我尝试的方法如下:
dfdirnoswaps = pd.concat([dfdirnoswaps, dfextended], axis =1)
将第二个数据帧附加到第一个数据帧。然而,这与相应行上的isin不匹配,而是愉快地将它们作为单独的行连接到第一个数据帧上。在
如果上述方法可行,我的下一步将是找到并替换如下:
^{pr2}$('Strategy'是包含所有行的'Direction'的列的名称)
我考虑过如何在excel中处理这一问题,因此很可能有一种比上面提到的更有效的方法来实现这一点,我欢迎任何建议。在
如果我正确地理解了您的问题,您可以使用dataframe的
isin()
方法来实现这一点。我们先创建一些看起来像你的假数据:现在我们使用
^{pr2}$isin()
计算一个布尔掩码,并将这些结果更改为'Extended'
:(注意,^{} 方法检查每个值是否在另一个序列中;与
"ISIN"
列名的相似性纯粹是巧合)。在相关问题 更多 >
编程相关推荐