[解決済み] PySparkでデータフレームのカラムをString型からDouble型に変更する方法は?
2022-07-17 20:33:34
質問
列がStringのデータフレームがあります。 PySparkでカラムの型をDouble型に変更したいと思いました。
以下は、私が行った方法です。
toDoublefunc = UserDefinedFunction(lambda x: x,DoubleType())
changedTypedf = joindf.withColumn("label",toDoublefunc(joindf['show']))
ロジスティック回帰を実行中にエラーが発生したので、これは正しい方法なのか知りたかったのです。 ロジスティック回帰を実行しているときに、いくつかのエラーが発生しましたので、私は疑問に思っています。 これがトラブルの原因なのでしょうか?
どのように解決するのですか?
ここでは、UDFは必要ありません。
Column
はすでに
cast
メソッド
と
DataType
インスタンス
:
from pyspark.sql.types import DoubleType
changedTypedf = joindf.withColumn("label", joindf["show"].cast(DoubleType()))
または短い文字列
changedTypedf = joindf.withColumn("label", joindf["show"].cast("double"))
ここで、正規の文字列名(他のバリエーションもサポート可能)は、以下のように対応します。
simpleString
の値に対応します。だからアトム型には
from pyspark.sql import types
for t in ['BinaryType', 'BooleanType', 'ByteType', 'DateType',
'DecimalType', 'DoubleType', 'FloatType', 'IntegerType',
'LongType', 'ShortType', 'StringType', 'TimestampType']:
print(f"{t}: {getattr(types, t)().simpleString()}")
BinaryType: binary
BooleanType: boolean
ByteType: tinyint
DateType: date
DecimalType: decimal(10,0)
DoubleType: double
FloatType: float
IntegerType: int
LongType: bigint
ShortType: smallint
StringType: string
TimestampType: timestamp
また、例えば複合型の場合
types.ArrayType(types.IntegerType()).simpleString()
'array<int>'
types.MapType(types.StringType(), types.IntegerType()).simpleString()
'map<string,int>'
関連
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] Pandas DataFrameの行数を取得する方法は?
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] 既存のDataFrameに新しい列を追加する方法は?
-
[解決済み】Pandas DataFrameのカラムヘッダからリストを取得する。
-
[解決済み】pandasでカラムの種類を変更する
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?
-
[解決済み] pathlib.Pathオブジェクトの絶対パスを取得するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] DataFrameの文字列、dtypeがobjectの場合
-
[解決済み] Djangoで2つの日付の間を選択する
-
[解決済み] データフレームをソートした後にインデックスを更新する
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] PyQtアプリケーションのスレッド化。QtスレッドとPythonスレッドのどちらを使うか?
-
[解決済み] Flaskで非同期タスクを作る
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
-
[解決済み] ファブリックタスクにパラメータを渡す
-
[解決済み] pipがvirtualenvの代わりにグローバルなsite-packagesにインストールする。