草庐IT

分组传送网

全部标签

python - 如何在spark中按多个键分组?

我有一堆以复合键和值的形式存在的元组。例如,tfile.collect()=[(('id1','pd1','t1'),5.0),(('id2','pd2','t2'),6.0),(('id1','pd1','t2'),7.5),(('id1','pd1','t3'),8.1)]我想对这个集合执行类似于sql的操作,我可以在其中根据id[1..n]或pd[1..n]聚合信息。我想使用vanillapysparkapi来实现,而不是使用SQLContext。在我当前的实现中,我正在读取一堆文件并合并RDD。defreadfile():fr=range(6,23)tfile=sc.union

python - 在 numpy 数组中按最大值或最小值分组

我有两个等长的一维numpy数组,id和data,其中id是重复的有序整数序列,定义data上的子窗口。例如:iddata1217132829210313-10我想通过在id上分组并取最大值或最小值来聚合data。在SQL中,这将是一个典型的聚合查询,如SELECTMAX(data)FROMtablenameGROUPBYidORDERBYid。有没有一种方法可以避免Python循环并以矢量化方式执行此操作? 最佳答案 最近几天我看到了一些关于堆栈溢出的非常相似的问题。以下代码与numpy.unique的实现非常相似,因为它利用了底

python - 使用 NetworkX 在集群中对顶点进行分组

我正在尝试以图形方式表示一些图形,我需要将一些具有共同特征的节点分组到集群中。我正在使用NetworkX,我需要对来自thistutorial的图表做一些类似的事情,来自幻灯片44,左图。我想在每个集群周围画一些分界线。我当前的代码是这样的:vec=self.colorscolors=(linspace(0,1,len(set(vec)))*20+10)nx.draw_circular(g,node_color=array([colors[x]forxinvec]))show()我想找一个例子,看看如何使用networkx对图进行聚类。 最佳答案

python - 按周分组,填充 'missing'周

在我的Django模型中,我有一个非常简单的模型,它表示事件的单次发生(例如发生服务器警报):classEventOccurrence:event=models.ForeignKey(Event)time=models.DateTimeField()我的最终目标是生成一个表格或图表,显示过去n周内事件发生的次数。所以我的问题分为两部分:如何group_by时间字段的星期?如何“填充”此group_by的结果,以便为任何缺失的周添加零值?例如,对于第二部分,我想转换这样的结果:|week|count||week|count||2|3||2|3||3|5|——becomes—>|3|5||

python - 每月、每年分组的值计数 - Pandas

我正在尝试对特定输出中每月和每年的日期进行groupby计数。我可以每天做,但不能每月/每年获得相同的输出。d=({'Date':['1/1/18','1/1/18','2/1/18','3/1/18','1/2/18','1/3/18','2/1/19','3/1/19'],'Val':['A','B','C','D','A','B','C','D'],})df=pd.DataFrame(data=d)df['Date']=pd.to_datetime(df['Date'],format='%d/%m/%y')df['Count_d']=df.Date.map(df.groupby(

python - 在 Python 中对列表中的递归相邻元组进行分组

我有一个未排序的整数元组列表,例如:a=[(1,1),(3,1),(4,5),(8,8),(4,4),(8,9),(2,1)]我正在尝试找到一种方法来对“递归相邻”元组进行分组。“相邻”是曼哈顿距离为1的元组。“递归”是指如果元组A与B相邻且B与C相邻,则A、B和C最终应属于同一组。返回曼哈顿距离的函数是这样的:defManhattan(tuple1,tuple2):returnabs(tuple1[0]-tuple2[0])+abs(tuple1[1]-tuple2[1])预期的结果是:[(1,1),(2,1),(3,1)],[(4,4),(4,5)],[(8,8),(8,9)]在此

python - Pandas 按数据框上的操作分组

我有一个如下所示的Pandas数据框。UsrIdJobNos141562232552412537812531我根据UsrId按数据框分组。分组数据框在概念上如下所示。UsrIdJobNos1[4,56,25]2[23,55,41,5]3[78,1]现在,我正在寻找一个内置API,它将为我提供具有最大作业数的UsrId。对于上面的示例,UsrId-2具有最大计数。更新:我想要的不是具有最大作业数的UsrID,而是具有最大作业数的nUserIds。对于上面的示例,如果n=2则输出为[2,1]。这能做到吗? 最佳答案 像df.groupb

python - 我需要从 pandas DataFrame 对象中创建一个 python 列表对象或任何对象,将来自不同行的值片段分组

我的DataFrame在第一列有一个字符串,在第二列有一个数字:GEOSTRINGIDactivity9wydm2p01uk0fd2z210wydm86pg6r3jyrg211wydm2p01uk0fd2z212wydm80xfxm9j22v239wydm9w92j538xze440wydm8km72gbyuvf441wydm86pg6r3jyrg442wydm8mzt874p1v5443wydm8mzmpz5gkt8544wydm86pg6r3jyrg545wydm8w1q8bjfpcj546wydm8w1q8bjfpcj5我想做的是操纵这个DataFrame以获得一个包含字符串的列

Java8使用Stream流实现List列表的查询、统计、排序、分组

Java8提供了Stream(流)处理集合的关键抽象概念,它可以对集合进行操作,可以执行非常复杂的查找、过滤和映射数据等操作。StreamAPI借助于同样新出现的Lambda表达式,极大的提高编程效率和程序可读性。下面是使用Stream的常用方法的综合实例。创建User类作为持久层。importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;importjava.math.BigDecimal;@Data@AllArgsConstructor@NoArgsConstructorpubliccl

python - 按多列分组以查找重复行 Pandas

我有一个dfidval1val211.12.211.12.222.15.538.86.241.12.258.86.2我想按val1和val2进行分组,并仅使用多次出现相同val1和val2组合的行获得相似的数据帧。最终df:idval1val211.12.241.12.238.86.258.86.2 最佳答案 你需要duplicated使用参数subset指定要检查的列,使用keep=False对掩码的所有重复项进行检查,并按booleanindexing过滤:df=df[df.duplicated(subset=['val1','