[解決済み] pyspark のデータフレームで個別の列の値を表示する
2022-03-03 17:02:11
質問
pysparkのdataframeで、Pandasと同等のことをするにはどうしたらいいでしょうか?
df['col'].unique()
.
pysparkのdataframeカラムにあるユニークな値をすべてリストアップしたいのですが。
SQLタイプの方法(registertemplateの後、distinct valuesのSQLクエリ)ではない。
また
groupby
では
countDistinct
その代わりに、そのカラムの異なるVALUESをチェックしたいのです。
どのように解決するのですか?
次のようなデータ表現があるとします(2列。
k
と
v
ここで
k
には3つの項目があり、そのうち2つは一意である。
+---+---+
| k| v|
+---+---+
|foo| 1|
|bar| 2|
|foo| 3|
+---+---+
Pandasのデータフレームで。
import pandas as pd
p_df = pd.DataFrame([("foo", 1), ("bar", 2), ("foo", 3)], columns=("k", "v"))
p_df['k'].unique()
これは
ndarray
は、すなわち
array(['foo', 'bar'], dtype=object)
pandas df['col'].unique()" に代わるpyspark dataframeが必要とのことですが、これはどのようなものですか?さて、次のようなSparkのdataframeがあるとします。
s_df = sqlContext.createDataFrame([("foo", 1), ("bar", 2), ("foo", 3)], ('k', 'v'))
もし
同じ
の結果、つまり、Sparkの
ndarray
を使用します。
toPandas()
:
s_df.toPandas()['k'].unique()
あるいは
ndarray
の一意な値のリストが欲しいだけです。
k
:
s_df.select('k').distinct().rdd.map(lambda r: r[0]).collect()
最後に、以下のようにリスト内包を使うこともできます。
[i.k for i in s_df.select('k').distinct().collect()]
関連
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] 環境変数の値にアクセスする方法
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] 空のPandas DataFrameを作成し、それを埋める?
-
[解決済み】pandasでカラムの種類を変更する
-
[解決済み】Pandasでカラムが存在するかどうかを確認する方法
-
[解決済み】pysparkでデータフレームの列名を変更する方法は?
-
[解決済み】Pandas DataframeのカラムでNaN値をゼロに置き換えるには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
Python入門 openを使ったファイルの読み書きの方法
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない