tôi chạy vào một hành vi đáng ngạc nhiên khi sử dụng .select()
:Chính xác là gì .select() làm gì?
>>> my_df.show()
+---+---+---+
| a| b| c|
+---+---+---+
| 1| 3| 5|
| 2| 4| 6|
+---+---+---+
>>> a_c = s_df.select(col("a"), col("c")) # removing column b
>>> a_c.show()
+---+---+
| a| c|
+---+---+
| 1| 5|
| 2| 6|
+---+---+
>>> a_c.filter(col("b") == 3).show() # I can still filter on "b"!
+---+---+
| a| c|
+---+---+
| 1| 5|
+---+---+
Hành vi này có tôi tự hỏi ... Có điểm sau đây của tôi có đúng không?
DataFrames chỉ là chế độ xem, một DataFrame đơn giản là chế độ xem của chính nó. Trong trường hợp của tôi a_c
chỉ là một cái nhìn vào my_df
.
Khi tôi tạo a_c
không có dữ liệu mới được tạo, a_c
chỉ trỏ vào cùng một dữ liệu my_df
đang trỏ.
Nếu có thêm thông tin có liên quan, vui lòng thêm!
cập nhật câu trả lời theo đề nghị của @ Chris H –
Tôi nghĩ mà không giải thích giai đoạn giải thích này thiếu thịt của những gì đang xảy ra thực sự –
@ JustinPihony- Tôi nghĩ giai đoạn không đủ logic trong trường hợp này. –