Tôi có nhiều khung dữ liệu với giá cổ phiếu mà tôi muốn căn chỉnh vào một khung dữ liệu duy nhất chỉ chứa giá đóng cho tất cả các cổ phiếu.Hợp nhất nhiều khung dữ liệu chưa được căn chỉnh vào khung dữ liệu đơn lẻ
Tôi hy vọng tất cả các ngày từ tất cả các khung dữ liệu sẽ có mặt trong cột ngày (chỉ mục) và "NA" trong trường hợp không có giá đóng cho cổ phiếu vào ngày đó.
Ví dụ với hai dữ liệu khung (df1 và df2):
In [5]: df1
Out[5]:
Open High Low Close
Date1
2012-01-05 22.00 22.66 23.11 24.04
2012-01-04 24.04 23.80 23.08 22.16
2012-01-03 22.16 21.27 20.42 21.24
2012-01-01 21.24 22.30 22.52 22.30
In [7]: df2
Out[7]:
Open High Low Close
Date1
2012-01-07 23.00 21.66 25.11 21.04
2012-01-06 22.00 22.66 23.11 24.04
2012-01-04 24.04 23.80 23.08 22.16
2012-01-02 22.16 21.27 20.42 21.24
2012-01-01 21.24 22.30 22.52 22.30
Bây giờ tôi có thể làm
In [8]: frame=pd.DataFrame({"df1.Close":df1["Close"], "df2.Close":df2["Close"]})
và kết quả là như mong đợi:
In [9]: frame
Out[9]:
df1.Close df2.Close
Date1
2012-01-01 22.30 22.30
2012-01-02 NaN 21.24
2012-01-03 21.24 NaN
2012-01-04 22.16 22.16
2012-01-05 24.04 NaN
2012-01-06 NaN 24.04
2012-01-07 NaN 21.04
Làm thế nào sẽ Tôi cần phải thay đổi mã của tôi để làm tương tự cho một số động của khung dữ liệu? Ngay bây giờ, tôi có 8 khung dữ liệu tôi cần căn chỉnh theo cách này. Có cách nào lặp lại thông qua danh sách các khung dữ liệu và sắp xếp chúng như trên không - thay vì buộc các tên khung dữ liệu theo cách thủ công (giống như df [0] để df [7] nói theo nghĩa bóng]?
Cảm ơn bạn trước và kính thư! Dirk
Rất tuyệt, cảm ơn rất nhiều! Với ví dụ đó, tôi nửa đường ở đó. Bây giờ làm thế nào tôi sẽ làm cho "dflist" năng động? Tôi sẽ không biết trước bao nhiêu khung dữ liệu tôi sẽ cần - vì vậy tôi đoán tôi đang tìm cách tạo một số khung dữ liệu động và sau đó sử dụng mã của bạn. Cám ơn rất nhiều về sự giúp đỡ của bạn! – user1653205
Chỉ cần sử dụng các phương thức thao tác danh sách chuẩn như 'append()' - ví dụ như khi bạn nhận được một khung dữ liệu mới, hãy làm một cái gì đó như 'dflist.append (new_df)'. – rmunn
Tôi nghĩ tôi đang tiến gần hơn. Bây giờ tôi đã tải các dataframes vào một dict trong đó khóa là ticker của cổ phiếu và giá trị là dataframe với các dấu ngoặc kép OHLC cho chứng khoán. Bây giờ tôi có một dict với 8 cặp khóa/giá trị. Câu hỏi còn lại là: Làm cách nào để tôi tham gia các khung dữ liệu thành một bằng cách lặp lại thông qua dict của tôi? – user1653205