用于探索和链接多个类似sql的表的python包
tabletree的Python项目详细描述
用于探索和链接多个类似sql的表的python包
说明
这个包将多个sql表链接在一起,以便于(可能是大规模的)分析来自不同来源的数据。所有表都是使用pandas data.frame对象实现的。
示例
在下面的示例中,3个表通过不同的列和不同的数据类型链接在一起。它们形成一棵树:性->;偏好->;果实。这个包可以通过自动遍历这个表树来查找“m”id的最喜欢的水果。
fromtabletreeimportTableNode,TableTree,TableLinkimportpandasaspdtab1_list=list(zip([1,2,3,4],['M','F','M','F']))tab2_list=list(zip([1,2,3,4],['red','green','yellow','blue']))tab3_list=list(zip(['red','green','yellow','blue'],['apple','grape','banana','berry']))tab1=pd.DataFrame(tab1_list,columns=['tab1_v1','tab1_v2'])tab2=pd.DataFrame(tab2_list,columns=['tab2_v1','tab2_v2'])tab3=pd.DataFrame(tab3_list,columns=['tab3_v1','tab3_v2'])tn1=TableNode('sex',tab1)tn2=TableNode('preference',tab2)tn3=TableNode('fruit',tab3)ttree=TableTree(tn1)ttree.addChildren(tn2,TableLink('tab1_v1','tab2_v1'))ttree.addChildren(tn3,TableLink('tab2_v2','tab3_v1'))ttree.findMatched('fruit','sex',tn1.df.tab1_v2=='M')#tab3_v1 tab3_v2#0 red apple#2 yellow banana