Tôi có một khung dữ liệu rất lớn (khoảng 1 triệu hàng) với dữ liệu từ một thử nghiệm (60 người trả lời).
Tôi muốn chia dataframe thành 60 dataframe (một khung dữ liệu cho mỗi người tham gia).
Trong khung dữ liệu, data
có một biến được gọi 'name'
, là mã duy nhất cho mỗi người tham gia.
Tôi đã thử những cách sau, nhưng không có gì xảy ra (hoặc quá trình thực hiện không dừng lại trong vòng một giờ). Những gì tôi định làm là chia data
nhỏ thành các khung dữ liệu nhỏ hơn và nối chúng vào một danh sách ( datalist
):
import pandas as pd
def splitframe(data, name='name'):
n = data[name][0]
df = pd.DataFrame(columns=data.columns)
datalist = []
for i in range(len(data)):
if data[name][i] == n:
df = df.append(data.iloc[i])
else:
datalist.append(df)
df = pd.DataFrame(columns=data.columns)
n = data[name][i]
df = df.append(data.iloc[i])
return datalist
Tôi không nhận được thông báo lỗi, tập lệnh dường như chạy mãi mãi!
Có một cách thông minh để làm điều đó?