中文文檔 pyspark.sql.DataFrameNaFunctions

新版本1.4之后,在dataframe中處理丟失數(shù)據(jù)的功能。

7.1 drop(how='any',?thresh=None,?subset=None):New in version 1.3.1.

返回:一個新的,刪除空值的行?DataFrame.dropna()?and?DataFrameNaFunctions.drop()?可以互相替代.

參數(shù):●?– how.?‘a(chǎn)ny’ or ‘a(chǎn)ll’. If ‘a(chǎn)ny’,刪除包含缺失值的行,?If ‘a(chǎn)ll’, 刪除所有值為缺失值的行

? ? ? ? ? ?●–??thresh. int,默認(rèn)為None如果指定,則刪除小于閾值 非空值的行。這將覆蓋how參數(shù)。

? ? ? ? ? ?●–? subset.?子集-要考慮的列名的可選列表。

In [386]: df4.dropna().show()

+----+------+--------+

|year|course|earnings|

+----+------+--------+

|2012|dotNET|? 10000|

|2012|dotNET|? ? 5000|

|2012|? Java|? 20000|

|2013|dotNET|? 48000|

|2013|? Java|? 30000|

|2012|? ? c|? ? 9999|

+----+------+--------+


7.2: fill(value,?subset=None):新版本1.3.1之后

替換null值也就是 for?na.fill().?DataFrame.fillna()?and?DataFrameNaFunctions.fill()?是等價的

參數(shù):●?–?value?– int, long, float, string, or dict.將空值替換。如果值是dict,則忽略子集,并且值必須是從列名(字符串)到替換值的映射。替換值必須是int、long、float或string。

? ? ? ? ? ?●–subset.?可選擇的列名列表。將忽略在子集中指定的不具有匹配數(shù)據(jù)類型的列。例如,如果值是一個字符串,而子集包含一個非字符串列,則只會忽略該非字符串列。

df.fillna({df.columns[2]:20}).show()

+-----+---+------+

| name|age|height|

+-----+---+------+

|Alice|? 2|? ? 80|

|? Bob|? 5|? ? 20|

+-----+---+------+

被忽略

In [396]: df.fillna({df.columns[2]:'unknow'}).show()

+-----+---+------+

| name|age|height|

+-----+---+------+

|Alice|? 2|? ? 80|

|? Bob|? 5|? null|

+-----+---+------+

7.3 replace(to_replace,?value,?subset=None):版本1.4后有的新功能

參數(shù):●to_replace– int、long、float、string或list。要替換的值。如果該值是dict,則忽略該值,并且to-replace必須是從列名(字符串)到替換值的映射。要替換的值必須是int、long、float或string。

? ? ? ? ? ?●–value– int、long、float、string或list。用于替換孔的值。替換值必須是int、long、float或string。如果值是列表或元組,則值的長度應(yīng)與to-replace的長度相同。

? ?????????●–subset?–可選擇的列名列表。將忽略在子集中指定的不具有匹配數(shù)據(jù)類型的列。例如,如果值是一個字符串,而子集包含一個非字符串列,則只會忽略該非字符串列。

????????????返回:dataframe ,?DataFrame.replace()?and?DataFrameNaFunctions.replace()?是等價的????

In [399]: df.na.replace(2,20).show()

+-----+---+------+

| name|age|height|

+-----+---+------+

|Alice| 20|? ? 80|

|? Bob|? 5|? null|

+-----+---+------+

In [400]: df.show()

+-----+---+------+

| name|age|height|

+-----+---+------+

|Alice|? 2|? ? 80|

|? Bob|? 5|? null|

+-----+---+------+

In [402]: df.na.replace(['Alice','Bob'],['A','B']).show()

+----+---+------+

|name|age|height|

+----+---+------+

|? A|? 2|? ? 80|

|? B|? 5|? null|

+----+---+------+

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容