首頁 >後端開發 >Python教學 >如何根據參與者 ID 有效地將大型 Pandas DataFrame 拆分為較小的 DataFrame?

如何根據參與者 ID 有效地將大型 Pandas DataFrame 拆分為較小的 DataFrame?

DDD
DDD原創
2024-12-17 11:09:25671瀏覽

How Can I Efficiently Split a Large Pandas DataFrame into Smaller DataFrames Based on Participant IDs?

將大型資料幀拆分為較小的資料幀

問題:

您有一個巨大的數據幀,其中包含超過100 萬條表示數據的記錄來自60 名參與者的實驗。每個參與者都有一個唯一的代碼儲存在資料幀的「name」變數中。您的目標是將資料幀分為 60 個較小的資料幀,每個參與者一個。

原始嘗試:

您透過名為 splitframe 的自訂函數實現此目的的初始方法沒有實現執行後一小時內不會產生結果。該函數旨在循環遍歷資料幀,迭代地將行附加到較小的資料幀並將它們添加到列表中,直到識別出新的參與者,此時它將為後續參與者創建一個新的資料幀。

使用資料幀切片的解決方案:

您可以採用更有效的方法,而不是迭代地分割資料幀資料幀切片。操作方法如下:

import pandas as pd

# Create a list of unique participant names
unique_names = data['name'].unique()

# Initialize a dictionary to store the split dataframes
data_dict = {}

# Iterate over the unique names
for name in unique_names:
    # Create a new dataframe by slicing the original dataframe
    data_dict[name] = data[data['name'] == name]

結果:

此程式碼將建立一個名為 data_dict 的字典。字典中的每個鍵代表一個參與者名稱,對應的值是一個 pandas 資料幀,其中包含該特定參與者的所有資料。您可以使用以下語法存取每位參與者的資料框:

participant_data = data_dict['ParticipantName']

以上是如何根據參與者 ID 有效地將大型 Pandas DataFrame 拆分為較小的 DataFrame?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn