ホームページ  >  記事  >  バックエンド開発  >  リストのような列を DataFrame 内の別々の行に展開するにはどうすればよいですか?

リストのような列を DataFrame 内の別々の行に展開するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-11 22:51:03834ブラウズ

How to Unpack a List-Like Column into Separate Rows in a DataFrame?

リストのような列を DataFrame 内の個別の行に展開する

質問:

DataFrame を変換するにはどうすればよいですか?リストを含むセルをそのリスト内の値ごとに個別の行に分割しますか?

例:

次の DataFrame について考えてみましょう:

name opponent nearest_neighbors
A.J. Price 76ers ['Zach LaVine', 'Jeremy Lin', 'Nate Robinson', 'Isaia']

私たちの目標これは、nearest_neighbors 列を「分解」し、リスト内の値ごとに新しい行を作成することです。

答え:

パンダ バージョン 0.25 以降では、explode( ) メソッドは、この操作を簡単にします:

import pandas as pd

df = (pd.DataFrame({'name': ['A.J. Price'] * 3, 
                    'opponent': ['76ers', 'blazers', 'bobcats'], 
                    'nearest_neighbors': [['Zach LaVine', 'Jeremy Lin', 'Nate Robinson', 'Isaia']] * 3})
      .set_index(['name', 'opponent']))

df.explode('nearest_neighbors')

出力:

name opponent nearest_neighbors
A.J. Price 76ers Zach LaVine
A.J. Price 76ers Jeremy Lin
A.J. Price 76ers Nate Robinson
A.J. Price 76ers Isaia
A.J. Price blazers Zach LaVine
A.J. Price blazers Jeremy Lin
A.J. Price blazers Nate Robinson
A.J. Price blazers Isaia
A.J. Price bobcats Zach LaVine
A.J. Price bobcats Jeremy Lin
A.J. Price bobcats Nate Robinson
A.J. Price bobcats Isaia

explode() メソッドは、nearest_neighbors 列の各リストを効果的に展開し、値ごとに新しい行を作成します。

以上がリストのような列を DataFrame 内の別々の行に展開するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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