Pandas を使用して列内のテキストを複数の行に分割する
大きな CSV ファイルを扱う場合、データを効率的に操作する必要があります。一般的なタスクの 1 つは、列内のテキストを複数の行に分割することです。これは、Python の強力なデータ操作ライブラリである Pandas を使用して実現できます。
スペースとコロンで区切られたテキスト値を含む「Seatblocks」という名前の列を含む CSV ファイルがあるとします。私たちの目標は、この列の各値を個別の行に分割し、コロンで区切られた部分ごとに新しい列を作成することです。
CustNum CustomerName ItemQty Item Seatblocks ItemExt 32363 McCartney, Paul 3 F04 2:218:10:4,6 60 31316 Lennon, John 25 F01 1:13:36:1,12 1:13:37:1,13 300
「シートブロック」列をスペースで分割し、各部分に個別の行を与えるには、次のようにします。次のコードを使用します:
s = df['Seatblocks'].str.split(' ').apply(Series, 1).stack() s.index = s.index.droplevel(-1) s.name = 'Seatblocks' del df['Seatblocks'] df = df.join(s)
このコードは次の出力を生成します:
CustNum CustomerName ItemQty Item ItemExt Seatblocks 0 32363 McCartney, Paul 3 F04 60 2:218:10:4,6 1 31316 Lennon, John 25 F01 300 1:13:36:1,12 1 31316 Lennon, John 25 F01 300 1:13:37:1,13
それぞれを分割するには独自の列でコロンで区切られた文字列を使用するには、次のコードを使用できます:
df.join(s.apply(lambda x: Series(x.split(':'))))
これにより、次の結果が得られます:
CustNum CustomerName ItemQty Item ItemExt 0 1 2 3 0 32363 McCartney, Paul 3 F04 60 2 218 10 4,6 1 31316 Lennon, John 25 F01 300 1 13 36 1,12 1 31316 Lennon, John 25 F01 300 1 13 37 1,13
これらのメソッドは、テキストを 1 つの列に分割する効果的な方法を提供します。列を複数の行に分割し、さらなるデータ操作と分析を可能にします。
以上がPandas 列のテキストを複数の行に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。