python 数据集 包含 子集

在我们拿到一些数据集的时候经常会把其分为好几份,一份拿来训练,一份拿来测试,最后验证等等;当遇到两个文本内存有数据,我们需要判断其是否是另外一个文本的子集…

#!usr/bin/python
# -*- coding: UTF-8 -*-
import time
def to_print_entity():fopen_15k=open("data/FB15K_entity2id.txt", "r")      #读取文件line_15k=fopen_15k.readlines()       #序列化count_15k= len(line_15k)i_15k=0temp_15k=[]while i_15k < count_15k:    #把序列里每一个元素都用空格符分割temp_15k.append(line_15k[i_15k].split("\t"))i_15k=i_15k+1j_15k=0line_temp_15k=[]while j_15k < count_15k:line_temp_15k.append(temp_15k[j_15k][0])    #分割后只在序列里每一个元素获取第一个字符,后面的id不要了j_15k=j_15k+1fopen_237=open("data/FB237_entity2id.txt", "r")line_237=fopen_237.readlines()count_237= len(line_237)i_237=0temp_237=[]while i_237 < count_237:temp_237.append(line_237[i_237].split("\t"))i_237=i_237+1j_237=0line_temp_237=[]while j_237 < count_237:line_temp_237.append(temp_237[j_237][0])j_237=j_237+1not_count_15k=0not_count_237=0for i in range(0,len(line_temp_15k)):   #判断在FB15K里的实体在FB237里是否也存在if line_temp_15k[i] not in line_temp_237:#print("FB15k有FB237沒有,“位置",i,"值",line_temp_15k[i])not_count_237=not_count_237+1for i in range(0,len(line_temp_237)):if line_temp_237[i] not in line_temp_15k:#print("FB237有FB15k沒有,“位置",i,"值",line_temp_237[i])not_count_15k = not_count_15k + 1print("在FB15K有,在FB237沒有的实体,共有",not_count_237,"条")print("在FB237有,在FB15K沒有的实体,共有",not_count_15k,"条")def to_print_relation():fopen_15k_rel=open("data/FB15K_relation2id.txt", "r")      #读取文件line_15k_rel=fopen_15k_rel.readlines()       #序列化count_15k_rel= len(line_15k_rel)i_15k_rel=0temp_15k_rel=[]while i_15k_rel < count_15k_rel:    #把序列里每一个元素都用空格符分割temp_15k_rel.append(line_15k_rel[i_15k_rel].split("\t"))i_15k_rel=i_15k_rel+1j_15k_rel=0line_temp_15k_rel=[]while j_15k_rel < count_15k_rel:line_temp_15k_rel.append(temp_15k_rel[j_15k_rel][0])    #分割后只在序列里每一个元素获取第一个字符,后面的id不要了j_15k_rel=j_15k_rel+1fopen_237_rel=open("data/FB237_relation2id.txt", "r")line_237_rel=fopen_237_rel.readlines()count_237_rel= len(line_237_rel)i_237_rel=0temp_237_rel=[]while i_237_rel < count_237_rel:temp_237_rel.append(line_237_rel[i_237_rel].split("\t"))i_237_rel=i_237_rel+1j_237_rel=0line_temp_237_rel=[]while j_237_rel < count_237_rel:line_temp_237_rel.append(temp_237_rel[j_237_rel][0])j_237_rel=j_237_rel+1not_count_15k_rel=0not_count_237_rel=0for i in range(0,len(line_temp_15k_rel)):   #判断在FB15K里的实体在FB237里是否也存在if line_temp_15k_rel[i] not in line_temp_237_rel:#print("FB15k有FB237沒有,“位置",i,"值",line_temp_15k[i])not_count_237_rel=not_count_237_rel+1for i in range(0,len(line_temp_237_rel)):if line_temp_237_rel[i] not in line_temp_15k_rel:print("FB237有FB15k沒有,“位置",i,"值",line_temp_237[i])not_count_15k_rel = not_count_15k_rel + 1print("在FB15K有,在FB237沒有的关系,共有",not_count_237_rel,"条")print("在FB237有,在FB15K沒有的关系,共有",not_count_15k_rel,"条")
ticks_1 = time.time()
to_print_entity()
to_print_relation()
ticks_2 = time.time()
print("花费了:",ticks_2-ticks_1,"秒!")
github提供的数据集[1]: https://github.com/thunlp/TensorFlow-TransX/tree/master/data/FB15K

python判断两个数据集是否存在包含关系相关推荐

  1. python 判断两个列表间是否具有包含关系以及获取子列表在父列表中的索引

    python 判断两个列表间是否具有包含关系以及获取子列表在父列表中的索引 import operator def get_sub_list_index(parent_list, sub_list): ...

  2. Python判断两个文件夹中互相不同的文件有哪些、判断一个文件夹相对于另外一个文件夹缺少了哪些文件

    Python判断两个文件夹中互相不同的文件有哪些.判断一个文件夹相对于另外一个文件夹缺少了哪些文件 目录 Python判断两个文件夹中互相不同的文件有哪些.判断一个文件夹相对于另外一个文件夹缺少了哪些 ...

  3. python判断相同,Python判断两个文件是否相同与两个文本进行相同项筛选的方法

    python判断两个文件是否相同 import hashlib def gethash(f): line=f.readline() hash=hashlib.md5() while(line): ha ...

  4. 如何使用Python判断两张图片是否相同?

    如何使用Python判断两张图片是否相同? 在图像处理中,经常需要判断两张图片是否相同.这个问题看似简单,实际上却不容易解决.但是,使用Python语言,我们可以通过多种方式来判断图片是否相同. 方法 ...

  5. 用html5交换两个变量的值,Python判断两个对象相等的原理 python交换两个变量的值为什么不用中间变量...

    python语言设计一个类代表花,其中含2个对象属性,2class flower: def __init__ (self, name, shape): self.name = name self.sh ...

  6. 浙大python判断两个字符串是否为变位词_算法2----------变位词

    1.背景: 变位词指的是一个单词可以通过改变其他单词中字母的顺序来得到,也叫做兄弟单词,如army->mary. 题1:判断两个字符串s1和s2是否为变位词. 经典的字符串变位词检测问题是比较不 ...

  7. python判断两个数是否相等_python比较两浮点数是否相等的方法

    python如何比较两个浮点数是否相等? float 类型不能比较相等或不等,但可以比较>,<,>=,<= 用==从语法上说没错,但是本来应该相等的两个浮点数由于计算机内部表示 ...

  8. Python - 判断两树是否相同

    一.引言 给你两棵二叉树的根节点 p 和 q ,如果两棵树在结构上相同,并且节点具有相同的值,则认为它们是相同的. 二.实现 判断两个树是否结构相同且数值相同,可以采用递归的方式同时遍历两棵树的根节点 ...

  9. python判断两线段是否相交_c语言 判断两直线段是否相交

    转了多人的放到一起比较!! //功能:求点在有向直线左边还是右边 //返回:0共线.1左边.-1右边 intleft_right(pointa,pointb,doublex,doubley) { do ...

最新文章

  1. lambda表达式_在Java 7或更早版本中使用Java 8 Lambda表达式
  2. 计算机网络·物理层练习题
  3. Generating RSA keys in PKCS#1 format in Java--转
  4. 2014\Province_C_C++_A\1 猜年龄
  5. python a and b_python-尽管Numpy建议a.b,为什么a.dot(b)比a @ b更...
  6. JavaScript 专题之函数柯里化
  7. 阿里云携领先SDN能力,亮相全球网络技术盛会ONS
  8. 文字超过省略_纯CSS实现“文本溢出截断省略”的几种方法
  9. Zabbix(三)zabbix平台添加服务监控选项(http、nginx、mysql)
  10. linux文件界面画面,Linux对比文件,很好用的图形界面
  11. memcached可视化工具 treeNMS通用的安装方法(windows、mac、linux)
  12. 用c语言实现高响应比作业调度算法,采用高响应比算法地进程调度程序.doc
  13. 运动控制卡应用开发教程之C#
  14. AlphaGo是如何实现的
  15. Qt——原地奔跑的小人
  16. html从谷歌浏览器跳转到IE,IE浏览器和谷歌浏览器相互跳转
  17. Nodemcu 背篼酥课堂--物联网实战体系课程
  18. JQuery 解决多个文件下载只下载一个的问题
  19. 悉尼mit it硕士选课 INFO5990
  20. conductor restart和rerun机制

热门文章

  1. vertica MySQL_Vertica数据库简介
  2. 【obs】libobs-winrt :CreateDispatcherQueueController
  3. python access violation_Python x64下ctypes动态链接库出现access violation的原因分析
  4. 讯时网关部分话机无法注册问题
  5. Python selenium —— 一定要会用selenium的等待,三种等待方式解读
  6. vivo APEX 2019 概念机亮相:全屏幕指纹 + 无开孔,支持 5G
  7. linux mysql 命令行查询 乱码_mysql命令提示行连接乱码的解决
  8. html2d动画,HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
  9. ZOJ 1138 Symbolic Derivation
  10. python查看bit_python 实现12bit灰度图像映射到8bit显示的方法