国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

PySpark數據分析基礎:PySpark Pandas創(chuàng)建、轉換、查詢、轉置、排序操作詳解

這篇具有很好參考價值的文章主要介紹了PySpark數據分析基礎:PySpark Pandas創(chuàng)建、轉換、查詢、轉置、排序操作詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

前言

一、Pandas數據結構

1.Series

2.DataFrame

?3.Time-Series

?4.Panel

5.Panel4D

6.PanelND

二、Pyspark實例創(chuàng)建

1.引入庫

2.轉換實現

pyspark pandas series創(chuàng)建

pyspark pandas dataframe創(chuàng)建

from_pandas轉換

?Spark DataFrame轉換

?三、PySpark Pandas操作

1.讀取行列索引

2.內容轉換為數組

3.DataFrame統計描述

4.轉置

5.排序

按行索引排序

?按某列值排序

點關注,防走丟,如有紕漏之處,請留言指教,非常感謝



前言

時至如今Pandas仍然是十分火熱的基于Python的數據分析工具,與numpy、matplotlib稱為數據分析三大巨頭,是學習Python數據分析的必經之路。Pandas提供了大量能使我們快速便捷地處理數據的函數和方法,它是使Python成為強大而高效的數據分析環(huán)境的重要因素之一。因此我們做分布式數據分析也同樣離不開Pandas的支持。Spark中的PySpark是內嵌有Pandas接口的:

pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

使用方式和直接使用Pandas庫是有所不同的,本篇文章將使用pyspark的pandas和pandas兩種數據操作方式來展示pyspark的pandas該如何靈活使用來進行數據分析。

文章還是緊接上篇文章:

PySpark數據分析基礎:PySpark基礎功能及基礎語法詳解


一、Pandas數據結構

Pandas數據結構是通用了,共有六種數據結構,想要詳細了解可以去看我這篇文章:一文速學-數據分析之Pandas數據結構和基本操作代碼:

1.Series

Series要理解很簡單,就像它的單詞為系列的意思。類似與數據結構中的字典有索引和對應值,也可以理解為數組,在Series中的下標1,2,3,...索引對應它的不同值。

????????pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

2.DataFrame

剛才從Series轉化為DataFrame就可以看出DataFrame的格式就像一張表格,包含行和列索引。通過對應的行列對DataFrame進行操作,更像是對SQL中表格處理,兩者有一定的類似之處。因此學過SQL的對DataFrane的操作更容易了解。

pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

?3.Time-Series

以時間為索引的Series。

pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

?4.Panel

三維的數組,可以理解為DataFrame的容器。

pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

5.Panel4D

像Panel一樣的4維數據容器。

6.PanelND

擁有factory集合,可以創(chuàng)建像Panel4D一樣N維命名容器的模塊。

后面四個用的場景十分少見,Series和DataFrame是最常用的數據類型,掌握這兩個數據結構操作方法足夠進行數據分析。

二、Pyspark實例創(chuàng)建

1.引入庫

import pandas as pd
import numpy as np
import pyspark.pandas as ps
from pyspark.sql import SparkSession

如果運行上述代碼有 WARNING:root:‘PYARROW_IGNORE_TIMEZONE‘ environment variable was not set.可以加上:

import os
os.environ["PYARROW_IGNORE_TIMEZONE"] = "1"

2.轉換實現

通過傳遞值列表,在Spark上創(chuàng)建pandas,讓pandas API在Spark上創(chuàng)建默認整數索引:

pyspark pandas series創(chuàng)建

和pandas是一樣的

s = ps.Series([1, 3, 5, np.nan, 6, 8])

pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

pyspark pandas dataframe創(chuàng)建

和pandas也是一樣的:

ps_df=ps.DataFrame(
    {'name':['id1','id2','id3','id4'],
     'old':[21,23,22,35],
     'city':['杭州','北京','南昌','上海']
    },
    index=[1,2,3,4])

pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

from_pandas轉換

我們先用pandas創(chuàng)建一個普通的DataFrame:

pd_df=pd.DataFrame(
    {'name':['id1','id2','id3','id4'],
     'old':[21,23,22,35],
     'city':['杭州','北京','南昌','上海']
    },
    index=[1,2,3,4])

之后直接使用from_pandas開始轉換就可以了:

ps_df=ps.from_pandas(pd_df)
type(ps_df)

?pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

?Spark DataFrame轉換

也可以通過Pandas的DataFrame轉換為Spark DataFrame:

spark = SparkSession.builder.getOrCreate()
sp_df=spark.createDataFrame(pd_df)
sp_df.show()

?pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

通過Spark DataFrame轉換為PySpark DataFrame:

ps_df=sp_df.pandas_api()

?pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

?且和pandas一樣查看數據類型方法是一樣的:

ps_df.dtypes

?pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

Spark DataFrame中的數據在默認情況下并不保持自然順序

通過設置compute.ordered_head可以保持自然順序,但它會導致內部排序的性能開銷。

ps_df.head()

?pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

?三、PySpark Pandas操作

1.讀取行列索引

讀取行索引:

ps_df.index
Int64Index([0, 1, 2, 3], dtype='int64')

讀取列索引:

ps_df.columns
Index(['name', 'old', 'city'], dtype='object')

2.內容轉換為數組

ps_df.to_numpy()

?pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

3.DataFrame統計描述

ps_df.describe()

描述的數值均為float

?pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

4.轉置

ps_df.T

轉置內容old列為int64,轉置會報錯,需要先轉換為str再進行轉置:

ps_df['old']=ps_df['old'].astype(str)
ps_df.T

?pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

5.排序

按行索引排序

ps_df.sort_index(ascending=False)

pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

?按某列值排序

ps_df.sort_values(by='old')

pyspark.pandas,一文速學-PySpark大數據分析,pandas,數據分析,spark,數據挖掘,python

點關注,防走丟,如有紕漏之處,請留言指教,非常感謝

以上就是本期全部內容。我是fanstuck ,有問題大家隨時留言討論 ,我們下期見。文章來源地址http://www.zghlxwxcb.cn/news/detail-788018.html


到了這里,關于PySpark數據分析基礎:PySpark Pandas創(chuàng)建、轉換、查詢、轉置、排序操作詳解的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包