pyspark dataframe & pandas dataframe

pyspark创建的dataframe和普通pandas dataframe有很多容易使用上容易混淆的地方,特来梳理记录下。

一、pandas dataframe特有的用法

data1.show(行数) 展示表结构和数据

二、pyspark dataframe特有的用法

1、新增一列分配唯一切递增的id

df.withColumn('new_id',fn.monotonically_increasing_id()).show()

三、两者相同用法的

1、describe()

2、head(行数) 查看前多少行

四、两者用法不同的

1、查看数据

1)data1.shape / data1.count()

2)统计指定列的行数以及去重后的行数

import pyspark.sql.functions as fn
data2.agg(fn.count('id').alias('count'),fn.countDistinct('id').alias('distinct')).show()

data2.select([c for c in df.columns if c != 'id']).distinct().count()

2、根据指定列删除重复数据:不指定列则用全部列

1)data1.drop_duplicates(subset=['id'])

2)data2.dropDuplicates(subset=['id'])

3、空值填充,一般根据稀疏特征和离散特征分别处理

1)data1.replace('nan','-1').fillna('-1')

2)data2.fillna({"country": "China"})  //字典类型

4、空值过滤

2)data2.filter(data2["country"].isNotNull())

或者 data2[data2["country"].isNotNull()]

5、过滤数据

1)

2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值