ฉันมีดาต้าเฟรมขนาดใหญ่มาก (ประมาณ 1 ล้านแถว) พร้อมข้อมูลจากการทดสอบ (ผู้ตอบ 60 คน)
ฉันต้องการแบ่ง dataframe ออกเป็น 60 dataframes (dataframe สำหรับผู้เข้าร่วมแต่ละคน)
ในดาต้าเฟรมdata
มีตัวแปรที่เรียกว่า'name'
ซึ่งเป็นรหัสเฉพาะสำหรับผู้เข้าร่วมแต่ละคน
ฉันได้ลองทำสิ่งต่อไปนี้แล้ว แต่ไม่มีอะไรเกิดขึ้น (หรือการดำเนินการไม่หยุดภายในหนึ่งชั่วโมง) สิ่งที่ฉันตั้งใจจะทำคือการแบ่งออกdata
เป็นดาต้าเฟรมที่เล็กลงและต่อท้ายรายการ ( 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
ฉันไม่ได้รับข้อความแสดงข้อผิดพลาดดูเหมือนว่าสคริปต์จะทำงานตลอดไป!
มีวิธีที่ชาญฉลาดในการทำหรือไม่?