ホームページ  >  記事  >  バックエンド開発  >  提供された情報に基づいた質問形式のタイトルをいくつか示します。 明確かつ簡潔: * Pandas DataFrame でカンマ区切りの値を複数の行に分割するにはどうすればよいですか? * Com を使用して列を分割する

提供された情報に基づいた質問形式のタイトルをいくつか示します。 明確かつ簡潔: * Pandas DataFrame でカンマ区切りの値を複数の行に分割するにはどうすればよいですか? * Com を使用して列を分割する

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-02 05:53:29436ブラウズ

Here are some question-style titles based on the information provided:

Clear and Concise:

* How to Split Comma-Separated Values into Multiple Rows in a Pandas DataFrame?
* Splitting Columns with Comma-Separated Lists into Multiple Rows in Pandas
* Trans

pandas DataFrame でセルを複数の行に分割する

質問:

どうすれば分割できますかカンマ区切りの [package および package_code] 列を pandas DataFrame の複数の行に分割し、パッケージごとに対応する注文の詳細を含む新しい行を作成しますか?

答え:

方法 1: (pandas >= 0.25)

<code class="python">df.set_index(['order_id', 'order_date']) \
    .apply(lambda x: x.str.split(',').explode()) \
    .reset_index() </code>

方法 2: (pandas

<code class="python">(df.set_index(['order_date', 'order_id'])
   .stack()
   .str.split(',', expand=True)
   .stack()
   .unstack(-2)
   .reset_index(-1, drop=True)
   .reset_index()
)</code>

詳細:

  1. インデックスとして分割しない列を設定します。
  2. stack() を使用して行をフラット化します。
  3. Expand=True を指定した str.split() を使用して、カンマで値を分割し、列に展開します。
  4. 結果の DataFrame を再度スタックして、行を平坦化します。
  5. unstack(-2) を使用します。 ) を使用して、インデックスの最後から 2 番目のレベルから新しい列を作成します。
  6. インデックスの余分な最後のレベルを削除するには、reset_index(-1,drop=True) を使用します。
  7. インデックスを次のようにリセットします。元の順序に戻してください。

以上が提供された情報に基づいた質問形式のタイトルをいくつか示します。 明確かつ簡潔: * Pandas DataFrame でカンマ区切りの値を複数の行に分割するにはどうすればよいですか? * Com を使用して列を分割するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。