Python中文
首页
教程
问答
标签
搜索
登录
注册
在Spark 1.6数据帧上按其他字段计算每组的不同元素
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图在Spark数据框中按日期分组,并为每个组计算一列的唯一值:</p> <pre><code>test.json {"name":"Yin", "address":1111111, "date":20151122045510} {"name":"Yin", "address":1111111, "date":20151122045501} {"name":"Yln", "address":1111111, "date":20151122045500} {"name":"Yun", "address":1111112, "date":20151122065832} {"name":"Yan", "address":1111113, "date":20160101003221} {"name":"Yin", "address":1111111, "date":20160703045231} {"name":"Yin", "address":1111114, "date":20150419134543} {"name":"Yen", "address":1111115, "date":20151123174302} </code></pre> <p>以及守则:</p> <pre><code>import pyspark.sql.funcions as func from pyspark.sql.types import TimestampType from datetime import datetime df_y = sqlContext.read.json("/user/test.json") udf_dt = func.udf(lambda x: datetime.strptime(x, '%Y%m%d%H%M%S'), TimestampType()) df = df_y.withColumn('datetime', udf_dt(df_y.date)) df_g = df_y.groupby(func.hour(df_y.date)) df_g.count().distinct().show() </code></pre> <p>pyspark的结果如下</p> <pre><code>df_y.groupby(df_y.name).count().distinct().show() +----+-----+ |name|count| +----+-----+ | Yan| 1| | Yun| 1| | Yin| 4| | Yen| 1| | Yln| 1| +----+-----+ </code></pre> <p>我所期待的是关于熊猫的事情:</p> <pre><code>df = df_y.toPandas() df.groupby('name').address.nunique() Out[51]: name Yan 1 Yen 1 Yin 2 Yln 1 Yun 1 </code></pre> <p>如何通过另一个字段(如地址)获取每个组的唯一元素</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>对groupby字段“_c1”的简明直接回答,并计算字段“_c2”中不同数量的值:</p> <pre><code>import pyspark.sql.functions as F dg = df.groupBy("_c1").agg(F.countDistinct("_c2")) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
使用登录请求.post导致“错误405不允许”
7 回答
使用登录进行Python web抓取
10 回答
使用登录进行抓取
1 回答
使用登录页面从网站抓取数据
3 回答
使用白色圆圈背景使图像更平滑
6 回答
使用百分位数删除Pandas数据帧中的异常值
4 回答
使用百分号进行Python字典操作
6 回答
使用百分比delimi的Python字符串模板
3 回答
使用百分比分割Numpy ndarray最有效的方法是什么?
7 回答
使用百分比分配和修改变量(计算)
6 回答
使用百分比单位绘制数据
2 回答
使用百分比在单个采购订单中组合不同的订单类型
1 回答
使用百分比将数据帧的子集与完整数据帧进行比较
6 回答
使用百分比形式的BBOX选项,而不是绝对像素PyScreenShot Python
5 回答
使用百分比登录列nam更新表
2 回答
使用百分比登录操作系统或者os.popen公司
10 回答
使用百分比计算:十进制还是可读?
2 回答
使用的dataset和dataloader加载数据时出错torch.utils.data公司. TypeError:类型为“type”的对象没有len()
1 回答
使用的Json无效json.dump文件在Python3
1 回答
使用的overwrite方法\r在python 3[PyCharm]中不起作用
10 回答