複数列にスパークデータフレーム列COLを分割しますそしてM)。 は、必要に応じて、私は、次の形式を持つデータセットの列を有する
もし形式で正確に説明するように、(パンダに)次は私が必要なものを行います。d3 = df.colname.str.extract('([0-9])([0-9])', expand=True)
d3.columns = ['H', 'M']
df = pd.concat([df, d3])
しかし、このシリーズの細胞のかなりの数がちょうど含ま
'XX45M'
XX3H
これらのパターンをオプションで抽出してグローバルなdfに挿入する方法はありますか?例の具体的なセットについて
:
df = pd.DataFrame({'A': ['XX1H30M', 'XX45M', 'XX2H'])
は
私はあなたが列を分割することができますdf = df.assign(H=recipes.col.str.extract('([0-9]+)H', expand=False),
M=recipes.col.str.extract('([0-9]+)M', expand=False)).fillna(0)
とパンダで達成することができる必要がある何
Out:
A H M
0 XX1H30M 1 30
1 XX45M 0 45
2 XX2H 2 0
として終わるでしょうpysparkに新しいものを追加する:
split_col = pyspark.sql.functions.split(df['col'], '-')
df = df.withColumn('H', split_col.getItem(0))
df = df.withColumn('M', split_col.getItem(1))
これを私の場合に拡張します(例: 2列の 'XX2H45M'のようなパターン?
これは、私よりも良い答えです - それはpysparkにうまくいっています! –