python - 如何从 Pandas 的数据框中选择匹配结果?
问题描述
我尝试使用熊猫在数据框中选择行,但不知何故我找不到类似的例子。解决方案应该很简单,但我有点卡住了。
- 有两个数据框
kg_df
:
source edge target
0 Jack bought apple
和mylist
:
Unnamed URL Length Match Text
0 0 http://example.com/Alice 5 Alice
1 1 http://example.com/Finn 4 Finn
2 2 http://example.com/Jack 4 Jack
以上数据只是一个例子(一种情况)。每次我生成新数据时,数据框中的数据都是不同的。
- 我想从 中选择一行
mylist
,使用来自的值kg_df
(即,两个数据帧中的 Jack 匹配),但我想做不同的操作,如果两个数据帧之间只有匹配,因为有时没有匹配(以上情况有匹配项,因为Jack
出现在两个数据框中)。
obj = kg_df['source'].values[0]
objhit = mylist[mylist['Match Text'] == obj]
if len(objhit) == 1:
objURI = objhit ['URL']
object1 = URIref(objURI[2])
所以我检查了len == 1
,但我很难获得object1。上面的代码之所以有效,是因为我指定了行号 ( objURI[2]
)。但是,我当然不知道是否找到了 objhit 的结果 [1] 或 [99]。在不知道行号的情况下,如何正确获取 object1?
非常感谢!
解决方案
我很困惑......你为什么不先加入两个表来找到共同的元素,然后根据需要应用掩码?
pd.merge(df1, df2, left_on='source', right_on='Match Text', how='inner')
推荐阅读
- javascript - 突出显示并滚动到参考
- python - 从 Pandas 的销售数据透视中获取“最后购买年份”
- javascript - jquery .addClass 没有做它应该做的事情
- javascript - TripleDES Java 加密到 Javascript 解密
- javascript - 如何使用基于 var 的 javascript 在 if 条件内显示链接
- reactjs - React props 函数变得未定义
- javascript - 分配动态嵌套的类数组
- android - 在 Android 上添加 string.xml 资源运行时间
- excel - 在excel中重新格式化数字到日期
- protractor - 如果执行,量角器需要从 For LOOP 中断