मैं,एक पांडा dataframe को dicts की एक सूची परिवर्तित
dict_keys= ['k1','k2','k3','k4','k5','k6'] # More like 30 keys in practice
data = []
for i in range(20): # More like 3000 in practice
data.append({k: np.random.randint(100) for k in dict_keys})
का अजगर dict
रों एक ही कुंजी के साथ प्रत्येक एक सूची है और इसका इस्तेमाल करने के सबसेट के साथ एक इसी पांडा dataframe बनाना चाहेंगे चांबियाँ। मेरे वर्तमान दृष्टिकोण एक समय में सूची में से एक से प्रत्येक dict
लेने के लिए और
df = pd.DataFrame(columns=['k1','k2','k5','k6'])
for d in data:
df = df.append({k: d[k] for k in list(df.columns)}, ignore_index=True)
# In practice, there are some calculations on some of the values here
का उपयोग कर dataframe से संलग्न करने के लिए है, लेकिन यह बहुत धीमी गति से (वास्तविक सूची है, और dicts यह होता है, दोनों काफी हैं विशाल)।
क्या शब्दकोशों की सूची के माध्यम से पुनरावृत्ति के लिए एक बेहतर, तेज़ (और अधिक मूर्खतापूर्ण) विधि है और उन्हें एक पांडस डेटाफ्रेम पर पंक्तियों के रूप में जोड़ने के लिए है?
वाह, 'from_records' * तेज * है! – orome