मेरे पास एक प्रयोग (60 उत्तरदाताओं) के डेटा के साथ एक बहुत बड़ी डेटाफ़्रेम (लगभग 1 मिलियन पंक्तियाँ) हैं।
मैं डेटाफ़्रेम को 60 डेटाफ़्रेम (प्रत्येक प्रतिभागी के लिए एक डेटाफ़्रेम) में विभाजित करना चाहूंगा।
डेटाफ्रेम में, 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
मुझे एक त्रुटि संदेश नहीं मिलता है, स्क्रिप्ट बस हमेशा के लिए चलने लगती है!
क्या इसे करने का कोई स्मार्ट तरीका है?