私のデータフレームは以下のようになります
ID,FirstName,LastName
1,Navee,Srikanth
2,,Srikanth
3,Naveen,
ここで私の問題ステートメントは、First Nameがnullであるため、行番号2を削除する必要があることです。
以下のpysparkスクリプトを使用しています
join_Df1= Name.filter(Name.col(FirstName).isnotnull()).show()
エラーが発生しています
File "D:\0\NameValidation.py", line 13, in <module>
join_Df1= filter(Name.FirstName.isnotnull()).show()
TypeError: 'Column'オブジェクトは呼び出し不可能です
誰かがこれを解決するのを手伝ってくれませんか
DataFrame FirstNameにはNull
ではなく空の値があるようです。以下は、いくつかのオプションです。
df = sqlContext.createDataFrame([[1,'Navee','Srikanth'], [2,'','Srikanth'] , [3,'Naveen','']], ['ID','FirstName','LastName'])
df.show()
+---+---------+--------+
| ID|FirstName|LastName|
+---+---------+--------+
| 1| Navee|Srikanth|
| 2| |Srikanth|
| 3| Naveen| |
+---+---------+--------+
df.where(df.FirstName.isNotNull()).show() #This doen't remove null because df have empty value
+---+---------+--------+
| ID|FirstName|LastName|
+---+---------+--------+
| 1| Navee|Srikanth|
| 2| |Srikanth|
| 3| Naveen| |
+---+---------+--------+
df.where(df.FirstName != '').show()
+---+---------+--------+
| ID|FirstName|LastName|
+---+---------+--------+
| 1| Navee|Srikanth|
| 3| Naveen| |
+---+---------+--------+
df.filter(df.FirstName != '').show()
+---+---------+--------+
| ID|FirstName|LastName|
+---+---------+--------+
| 1| Navee|Srikanth|
| 3| Naveen| |
+---+---------+--------+
df.where("FirstName != ''").show()
+---+---------+--------+
| ID|FirstName|LastName|
+---+---------+--------+
| 1| Navee|Srikanth|
| 3| Naveen| |
+---+---------+--------+
あなたは以下のようにすべきです
join_Df1.filter(join_Df1.FirstName.isNotNull()).show
お役に立てれば!
私はあなたが必要とするかもしれないものはこれnotnull()
だと思います。
したがって、これはcsvファイル_my_test.csv
_での入力です。
_ID,FirstName,LastName
1,Navee,Srikanth
2,,Srikanth
3,Naveen
_
コード:
_import pandas as pd
df = pd.read_csv("my_test.csv")
print(df[df['FirstName'].notnull()])
_
出力:
_ ID FirstName LastName
0 1 Navee Srikanth
2 3 Naveen NaN
_
これはあなたが望むものです! df[df['FirstName'].notnull()]
df['FirstName'].notnull()
の出力:
_0 True
1 False
2 True
_
これはデータフレームdf
を作成します。ここでdf['FirstName'].notnull()
はTrue
を返します
これはどのようにチェックされますか? df['FirstName'].notnull()
FirstName
列の値がnullでない場合はTrue
を返し、そうでない場合はNaN
が存在する場合はFalse
を返します。