Pandas 列のテキストを複数の行に分割するにはどうすればよいですか?

DDD
リリース: 2024-11-11 01:02:03
オリジナル
723 人が閲覧しました

How to Split Text in a Pandas Column into Multiple Rows?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート