df.values
cung cấp cho bạn số liệu NumPy ndarray
không có chỉ mục.
>>> df
x y
0 4 GE
1 1 RE
2 1 AE
3 4 CD
>>> df.values
array([[4, 'GE'],
[1, 'RE'],
[1, 'AE'],
[4, 'CD']], dtype=object)
Bạn không thể có một DataFrame mà không cần các chỉ số, họ là những điểm chung của các DataFrame :)
Nhưng chỉ để được rõ ràng, hoạt động này không phải là inplace:
>>> df.values is df.values
False
DataFrame giữ dữ liệu trong mảng hai chiều được nhóm theo loại, vì vậy khi bạn muốn toàn bộ khung dữ liệu, nó sẽ phải tìm màn hình LCD của tất cả các kiểu dtypes và xây dựng một mảng 2D thuộc loại đó.
Để tạo một khung dữ liệu mới với các giá trị từ một tuổi, chỉ cần vượt qua DataFrame cũ sang những nhà xây dựng mới và không có dữ liệu sẽ được sao chép cấu trúc dữ liệu tương tự sẽ được tái sử dụng:
>>> df1 = pd.DataFrame([[1, 2], [3, 4]])
>>> df2 = pd.DataFrame(df1)
>>> df2.iloc[0,0] = 42
>>> df1
0 1
0 42 2
1 3 4
Nhưng bạn có thể chỉ định rõ ràng thông số copy
:
>>> df1 = pd.DataFrame([[1, 2], [3, 4]])
>>> df2 = pd.DataFrame(df1, copy=True)
>>> df2.iloc[0,0] = 42
>>> df1
0 1
0 1 2
1 3 4
Cảm ơn bạn. Những gì tôi đã làm là để bắt đầu một dataframe mới với các giá trị của dataframe cũ. – GeauxEric
Cập nhật câu trả lời. –
Tôi nghĩ rằng những gì tôi thực sự muốn làm là ghi dữ liệu vào một tệp mà không có chỉ mục và có thể dễ dàng thực hiện bằng cách đặt chỉ mục = False. Xin lỗi tôi đã không làm cho câu hỏi của tôi rõ ràng ở nơi đầu tiên. Câu trả lời của bạn rất trực quan. – GeauxEric