首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在pyspark数据帧的数据类型中进行不同的计数

在pyspark数据帧的数据类型中进行不同的计数
EN

Stack Overflow用户
提问于 2019-10-17 01:13:48
回答 1查看 223关注 0票数 0

我需要一个函数来在pypspark dataframe中获取类似以下内容:

变量类型:

数字:4分类:4日期:1

EN

回答 1

Stack Overflow用户

发布于 2019-10-17 02:29:41

让我们在Pyspark Shell中创建一个虚拟Dataframe

>>> rdd = sc.parallelize([['x',1,'y',2,1.1]])

>>> df = spark.createDataFrame(rdd, schema=['Col1','Col2','Col3','Col4','Col5'])

以下是df的列类型

>>> df DataFrame[Col1: string, Col2: bigint, Col3: string, Col4: bigint, Col5: double]

根据文档,如果您在Spark DataFrame,https://spark.apache.org/docs/2.3.0/api/python/pyspark.sql.html#pyspark.sql.DataFrame.dtypes上使用dtype属性,您将获得“所有列名及其数据类型列表”。

>>> print(df.dtypes) [('Col1', 'string'), ('Col2', 'bigint'), ('Col3', 'string'), ('Col4', 'bigint'), ('Col5', 'double')]

现在,您可以利用本机Python计数器库来获取所需的输出

>>> from Collections import Counter

>>> data_types = df.dtypes

>>> dict(Counter(dict(data_types).values())) {'string': 2, 'bigint': 2, 'double': 1}

您应该能够轻松地将这两行代码转换为满足您最终需求的函数

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58418537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档