最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pyspark給dataframe增加新的一列的實(shí)現(xiàn)示例

 更新時(shí)間:2020年04月24日 14:28:27   作者:曉東邪  
這篇文章主要介紹了pyspark給dataframe增加新的一列的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

熟悉pandas的pythoner 應(yīng)該知道給dataframe增加一列很容易,直接以字典形式指定就好了,pyspark中就不同了,摸索了一下,可以使用如下方式增加

from pyspark import SparkContext
from pyspark import SparkConf
from pypsark.sql import SparkSession
from pyspark.sql import functions

spark = SparkSession.builder.config(conf=SparkConf()).getOrCreate()

data =   [['Alice', 19, 'blue', '["Alice", 19, "blue"]'],
  ['Jane', 20, 'green', '["Jane", 20, "green"]'],
   ['Mary', 21, 'blue', '["Mary", 21, "blue"]'], ]
frame = spark.createDataFrame(data, schema=["name", "age", "eye_color", "detail"])

frame.cache()
frame.show()

+-----+---+---------+--------------------+
| name|age|eye_color|              detail|
+-----+---+---------+--------------------+
|Alice| 19|     blue|["Alice", 19, "bl...|
| Jane| 20|    green|["Jane", 20, "gre...|
| Mary| 21|     blue|["Mary", 21, "blue"]|
+-----+---+---------+--------------------+

1、 增加常數(shù)項(xiàng)

frame2 = frame.withColumn("contant", functions.lit(10))
frame2.show()

+-----+---+---------+--------------------+-------+
| name|age|eye_color|              detail|contant|
+-----+---+---------+--------------------+-------+
|Alice| 19|     blue|["Alice", 19, "bl...|     10|
| Jane| 20|    green|["Jane", 20, "gre...|     10|
| Mary| 21|     blue|["Mary", 21, "blue"]|     10|
+-----+---+---------+--------------------+-------+

2、簡(jiǎn)單根據(jù)某列進(jìn)行計(jì)算

2.1 使用 withColumn

frame3_1 = frame.withColumn("name_length", functions.length(frame.name))
frame3_1.show()

+-----+---+---------+--------------------+-----------+
| name|age|eye_color|              detail|name_length|
+-----+---+---------+--------------------+-----------+
|Alice| 19|     blue|["Alice", 19, "bl...|          5|
| Jane| 20|    green|["Jane", 20, "gre...|          4|
| Mary| 21|     blue|["Mary", 21, "blue"]|          4|
+-----+---+---------+--------------------+-----------+

2.2 使用 select

frame3_2 = frame.select(["name", functions.length(frame.name).alias("name_length")])
frame3_2.show()

+-----+-----------+
| name|name_length|
+-----+-----------+
|Alice|          5|
| Jane|          4|
| Mary|          4|
+-----+-----------+

2.3 使用 selectExpr

frame3_3 = frame.selectExpr(["name", "length(name) as name_length"])
frame3_3.show()

+-----+-----------+
| name|name_length|
+-----+-----------+
|Alice|          5|
| Jane|          4|
| Mary|          4|
+-----+-----------+

3、定制化根據(jù)某列進(jìn)行計(jì)算

比如我想對(duì)某列做指定操作,但是對(duì)應(yīng)的函數(shù)沒得咋辦,造,自己造~

frame4 = frame.withColumn("detail_length", functions.UserDefinedFunction(lambda obj: len(json.loads(obj)))(frame.detail))

# or
def length_detail(obj):
 return len(json.loads(obj))
frame4 = frame.withColumn("detail_length", functions.UserDefinedFunction(length_detail)(frame.detail))
frame4.show()

+-----+---+---------+--------------------+-------------+
| name|age|eye_color|              detail|detail_length|
+-----+---+---------+--------------------+-------------+
|Alice| 19|     blue|["Alice", 19, "bl...|            3|
| Jane| 20|    green|["Jane", 20, "gre...|            3|
| Mary| 21|     blue|["Mary", 21, "blue"]|            3|
+-----+---+---------+--------------------+-------------+

到此這篇關(guān)于pyspark給dataframe增加新的一列的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)pyspark dataframe增加列內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 字典生成樹狀圖的實(shí)例

    python 字典生成樹狀圖的實(shí)例

    這篇文章主要介紹了python 字典生成樹狀圖的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 使用Python進(jìn)行數(shù)獨(dú)求解詳解(一)

    使用Python進(jìn)行數(shù)獨(dú)求解詳解(一)

    本文主要介紹了如何構(gòu)建一個(gè)Python腳本來解決數(shù)獨(dú)難題,本文的重點(diǎn)在于介紹用于構(gòu)建數(shù)獨(dú)求解器的回溯算法。感興趣的小伙伴可以學(xué)習(xí)一下
    2022-02-02
  • python字符串中的單雙引

    python字符串中的單雙引

    下面小編就為大家?guī)硪黄猵ython字符串中的單雙引。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • 利用Python將圖片批量轉(zhuǎn)化成素描圖的過程記錄

    利用Python將圖片批量轉(zhuǎn)化成素描圖的過程記錄

    萬能的Python真的是除了不會(huì)生孩子,其他的還真不在話下,下面這篇文章主要給大家介紹了關(guān)于如何利用Python將圖片批量轉(zhuǎn)化成素描圖的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Django提示mysql版本過低:django.db.utils.NotSupportedError: MySQL 8 or later is required (found 5.7.26).的解決方法

    Django提示mysql版本過低:django.db.utils.NotSupportedError: My

    這篇文章主要介紹了Django提示mysql版本過低:django.db.utils.NotSupportedError: MySQL 8 or later is required (found 5.7.26).的解決方法,文中有詳細(xì)的解決方案,具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-03-03
  • Python?變量教程字節(jié)對(duì)象與字符串

    Python?變量教程字節(jié)對(duì)象與字符串

    這篇文章主要介紹了Python變量教程字節(jié)對(duì)象與字符串,字節(jié)對(duì)象是字節(jié)序列,而字符串是字符序列,字節(jié)對(duì)象在內(nèi)部是機(jī)器可讀的形式,字符串只是人類可讀的形式
    2022-08-08
  • opencv+python識(shí)別七段數(shù)碼顯示器的數(shù)字(數(shù)字識(shí)別)

    opencv+python識(shí)別七段數(shù)碼顯示器的數(shù)字(數(shù)字識(shí)別)

    本文主要介紹了opencv+python識(shí)別七段數(shù)碼顯示器的數(shù)字(數(shù)字識(shí)別),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Python移動(dòng)測(cè)試開發(fā)subprocess模塊項(xiàng)目實(shí)戰(zhàn)

    Python移動(dòng)測(cè)試開發(fā)subprocess模塊項(xiàng)目實(shí)戰(zhàn)

    這篇文章主要為大家介紹了Python移動(dòng)測(cè)試開發(fā)subprocess模塊項(xiàng)目實(shí)戰(zhàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • ?python 中的條件判斷語句的使用介紹

    ?python 中的條件判斷語句的使用介紹

    這篇文章主要介紹了?python 中的條件判斷語句的使用,主要學(xué)習(xí)內(nèi)容有封裝過于復(fù)雜的邏輯判斷,不同分支下的重復(fù)代碼等,更多相關(guān)內(nèi)容,需要的小伙伴可以參考下面文章詳細(xì)介紹內(nèi)容
    2022-03-03
  • Python學(xué)習(xí)之函數(shù) def

    Python學(xué)習(xí)之函數(shù) def

    這篇文章主要介紹了Python的函數(shù) def,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-10-10

最新評(píng)論

华宁县| 乐都县| 新郑市| 上杭县| 镇赉县| 莎车县| 准格尔旗| 乡城县| 孟连| 乐安县| 平利县| 白沙| 巴彦淖尔市| 中江县| 岗巴县| 道真| 景宁| 开鲁县| 泗洪县| 确山县| 犍为县| 桂平市| 涪陵区| 南溪县| 井冈山市| 太和县| 大庆市| 香河县| 多伦县| 浑源县| 贵德县| 安远县| 安吉县| 丹东市| 青龙| 布拖县| 涟水县| 崇文区| 华阴市| 河南省| 孙吴县|