0
3k-4k列のSparkデータフレームを持っていて、その名前が特定の変数基準を満たしている列を削除したいと思います。 ColumnNameは 'foo'のようになります。Regexを使用してPySparkデータフレームの列(名前で)をフィルタリングします
3k-4k列のSparkデータフレームを持っていて、その名前が特定の変数基準を満たしている列を削除したいと思います。 ColumnNameは 'foo'のようになります。Regexを使用してPySparkデータフレームの列(名前で)をフィルタリングします
カラム名を取得するには、df.columns
とdrop()
を使用して、1回のコールで多くのカラムをドロップできます。以下のコードでは、これらの2つを使用して必要な処理を行います。
condition = lambda col: 'foo' in col
new_df = df.drop(*filter(condition, df.columns))
これは私の問題を絶対に解決しましたが、構文がわかりません。 *フィルター私は '* foo'を含む任意の列として解釈しますが、そうではありません。 fooは部分文字列* foo *として扱われるようです。この方法を詳しく説明しているドキュメントを参照できますか?すばらしい助けをありがとう。 – DespicableMe
'filter'はpythonメソッドに組み込まれています。反復可能なコレクションをフィルタリングします。ここでドキュメントを見つけることができます:https://docs.python.org/3/library/functions.html#filter – Mariusz