ホームページ > バックエンド開発 > Python チュートリアル > 大きなデータフレームを参加者 ID ごとに個々のデータフレームに効率的に分割するにはどうすればよいですか?

大きなデータフレームを参加者 ID ごとに個々のデータフレームに効率的に分割するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-30 10:25:09
オリジナル
752 人が閲覧しました

How Can I Efficiently Split a Large DataFrame into Individual DataFrames by Participant ID?

大規模な DataFrame を参加者 ID ごとに個別の DataFrame に分割

60 人が関与する実験からのデータを含む巨大な DataFrame を所有しているシナリオを考えてみましょう。参加者。目標は、この膨大な DataFrame を 60 の個別の DataFrame に分割し、それぞれが個々の参加者を表すことです。必須の変数 'name' は、DataFrame 内の各参加者を一意に識別します。

カスタム関数 'splitframe' を使用してこのタスクを実行する試みは失敗したことが判明し、より効率的なソリューションが求められています。

優れたアプローチ: データ フレーム スライス

代替戦略には次のものが含まれます。スライス技術を使用してデータフレームを分離します。方法は次のとおりです。

  1. DataFrame の 'Names' 列を使用して、参加者名の固有のリスト ('UniqueNames') を生成します。
  2. を使用して、個々の DataFrame に対応する辞書を確立します。 'UniqueNames' リストをキーとして使用します。
  3. 各参加者名を反復処理し、対応するデータを内部の別の DataFrame に割り当てます。

このアプローチでは、スライスを利用して、参加者ごとに個別の DataFrame を作成するためのより簡単で効率的な方法が提供されます。

# Create a DataFrame with a 'Names' column
data = pd.DataFrame({
    'Names': ['Joe', 'John', 'Jasper', 'Jez'] * 4,
    'Ob1': np.random.rand(16),
    'Ob2': np.random.rand(16)
})

# Extract unique participant names
UniqueNames = data['Names'].unique()

# Initialize a dictionary to store individual DataFrames
DataFrameDict = {elem: pd.DataFrame() for elem in UniqueNames}

# Populate the dictionary with individual DataFrames
for key in DataFrameDict.keys():
    DataFrameDict[key] = data[data['Names'] == key]
ログイン後にコピー

個別の DataFrame へのアクセス

特定の参加者の特定のデータフレームにアクセスするには、単に、以下に示すように、参加者の名前:

DataFrameDict['Joe']
ログイン後にコピー

以上が大きなデータフレームを参加者 ID ごとに個々のデータフレームに効率的に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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