Giả sử tôi có DataFrame với một số NaNs:
>>> import pandas as pd
>>> df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]])
>>> df
0 1 2
0 1 2 3
1 4 NaN NaN
2 NaN NaN 9
Những gì tôi cần làm là thay thế mọi thứ NaNbằng NaNgiá trị không đầu tiên trong cùng một cột phía trên nó. Giả định rằng hàng đầu tiên sẽ không bao giờ chứa a NaN. Vì vậy, với ví dụ trước, kết quả sẽ là
0 1 2
0 1 2 3
1 4 2 3
2 4 2 9
Tôi chỉ có thể lặp qua toàn bộ từng cột DataFrame, từng yếu tố và đặt các giá trị trực tiếp, nhưng liệu có cách nào dễ dàng (tối ưu hóa một vòng lặp) để đạt được điều này không?