[解決済み] Spark Dataframeは重複した名前のカラムを区別する。
2022-10-01 16:23:21
質問
Spark Dataframeでは、以下のDataframeスナップショットのように、複数のカラムが同じ名前を持つことができることを知っています。
[
Row(a=107831, f=SparseVector(5, {0: 0.0, 1: 0.0, 2: 0.0, 3: 0.0, 4: 0.0}), a=107831, f=SparseVector(5, {0: 0.0, 1: 0.0, 2: 0.0, 3: 0.0, 4: 0.0})),
Row(a=107831, f=SparseVector(5, {0: 0.0, 1: 0.0, 2: 0.0, 3: 0.0, 4: 0.0}), a=125231, f=SparseVector(5, {0: 0.0, 1: 0.0, 2: 0.0047, 3: 0.0, 4: 0.0043})),
Row(a=107831, f=SparseVector(5, {0: 0.0, 1: 0.0, 2: 0.0, 3: 0.0, 4: 0.0}), a=145831, f=SparseVector(5, {0: 0.0, 1: 0.2356, 2: 0.0036, 3: 0.0, 4: 0.4132})),
Row(a=107831, f=SparseVector(5, {0: 0.0, 1: 0.0, 2: 0.0, 3: 0.0, 4: 0.0}), a=147031, f=SparseVector(5, {0: 0.0, 1: 0.0, 2: 0.0, 3: 0.0, 4: 0.0})),
Row(a=107831, f=SparseVector(5, {0: 0.0, 1: 0.0, 2: 0.0, 3: 0.0, 4: 0.0}), a=149231, f=SparseVector(5, {0: 0.0, 1: 0.0032, 2: 0.2451, 3: 0.0, 4: 0.0042}))
]
上記の結果は、データフレームと自分との結合によって作成されています。
4
カラムがあり、その両方が
a
と
f
.
でさらに計算をしようとすると、問題があります。
a
カラムを選択する方法が見つからないことです。
a
を選択する方法を見つけることができません、私は試してみました
df[0]
と
df.select('a')
で、どちらも以下のようなエラーメッセージが返ってきました。
AnalysisException: Reference 'a' is ambiguous, could be: a#1333L, a#1335L.
Spark APIで、重複した名前のカラムを再度区別する方法はありますか? または、カラム名を変更できるようにする方法はありますか?
どのように解決するのですか?
のカラム名を変更することをお勧めします。
join
.
df1.select(col("a") as "df1_a", col("f") as "df1_f")
.join(df2.select(col("a") as "df2_a", col("f") as "df2_f"), col("df1_a" === col("df2_a"))
その結果
DataFrame
には
schema
(df1_a, df1_f, df2_a, df2_f)
関連
-
[解決済み] Pandasのデータフレームで複数の列を選択する
-
[解決済み] pandasを使った "大量データ "ワークフロー【終了しました
-
[解決済み] データフレーム列の名前によるドロップ
-
[解決済み] 空のPandas DataFrameを作成し、それを埋める?
-
[解決済み] 非常に大きなテーブルをデータフレームとして高速に読み込む
-
[解決済み】pysparkでデータフレームの列名を変更する方法は?
-
[解決済み】Pandasがカラム名だけの空のDataFrameを作成する。
-
[解決済み] pycharmがタブをスペースに自動変換する
-
[解決済み] Pythonでランダムなファイル名を生成する最良の方法
-
[解決済み] Alembicアップグレードスクリプトでインサートやアップデートを実行するにはどうすればよいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] Django 1.7で初期マイグレーションからマイグレートバックする方法は?
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] djangoフレームワークでフォームフィールドから値を取得するには?
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
-
[解決済み] Python Empty Generator 関数
-
[解決済み] 単純な文字列からtimedeltaオブジェクトを作成する方法
-
[解決済み] djangoのQueryDictをPythonのDictに変更するには?
-
[解決済み] 認証プラグイン 'caching_sha2_password' はサポートされていません。