tôi có một danh sách của mỗi với các phím cùng Python dict
s,Chuyển đổi một danh sách các dicts đến một dataframe Pandas
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})
và muốn sử dụng nó để tạo ra một Pandas dataframe tương ứng với một tập hợp con của phím. Cách tiếp cận hiện tại của tôi là phải uống mỗi dict
từ danh sách cùng một lúc và thêm nó vào dataframe sử dụng
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
nhưng đây là rất chậm (danh sách thực tế, và dicts nó chứa, cả hai đều khá lớn).
Có phương pháp nào tốt hơn, nhanh hơn (và thành ngữ hơn) để lặp qua danh sách các từ điển và thêm chúng dưới dạng hàng vào một khung dữ liệu Pandas không?
Wow, 'from_records' là * nhanh *! – orome