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

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

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

熟悉pandas的pythoner 應該知道給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ù)項

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、簡單根據(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ù)某列進行計算

比如我想對某列做指定操作,但是對應的函數(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|
+-----+---+---------+--------------------+-------------+

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

相關文章

  • python 字典生成樹狀圖的實例

    python 字典生成樹狀圖的實例

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

    使用Python進行數(shù)獨求解詳解(一)

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

    python字符串中的單雙引

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

    利用Python將圖片批量轉化成素描圖的過程記錄

    萬能的Python真的是除了不會生孩子,其他的還真不在話下,下面這篇文章主要給大家介紹了關于如何利用Python將圖片批量轉化成素描圖的相關資料,需要的朋友可以參考下
    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).的解決方法,文中有詳細的解決方案,具有一定的參考價值,需要的朋友可以參考下
    2024-03-03
  • Python?變量教程字節(jié)對象與字符串

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

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

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

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

    Python移動測試開發(fā)subprocess模塊項目實戰(zhàn)

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

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

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

    Python學習之函數(shù) def

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

最新評論

哈尔滨市| 正蓝旗| 绥化市| 汉中市| 诏安县| 佳木斯市| 靖江市| 宕昌县| 灵台县| 华安县| 永仁县| 寿光市| 武山县| 韶山市| 格尔木市| 甘肃省| 池州市| 邻水| 永川市| 甘德县| 峨眉山市| 桃园市| 收藏| 咸阳市| 赤峰市| 彰化市| 清新县| 平乐县| 丰城市| 社旗县| 哈巴河县| 常山县| 苍溪县| 沛县| 呼图壁县| 余江县| 务川| 通道| 柳州市| 蚌埠市| 青海省|