Sao chép cột từ một csv này sang một con gấu trúc python khác

Khi deep=True [mặc định], một đối tượng mới sẽ được tạo với một bản sao dữ liệu và chỉ số của đối tượng gọi. Các sửa đổi đối với dữ liệu hoặc chỉ mục của bản sao sẽ không được phản ánh trong đối tượng ban đầu [xem ghi chú bên dưới]

Khi deep=False, một đối tượng mới sẽ được tạo mà không sao chép dữ liệu hoặc chỉ mục của đối tượng gọi [chỉ sao chép các tham chiếu đến dữ liệu và chỉ mục]. Mọi thay đổi đối với dữ liệu của bản gốc sẽ được phản ánh trong bản sao nông [và ngược lại]

Parametersdeep bool, mặc định Đúng

Tạo một bản sao sâu, bao gồm một bản sao của dữ liệu và các chỉ số. Với deep=False, cả chỉ số và dữ liệu đều không được sao chép

Bản sao trả lại Sê-ri hoặc Khung dữ liệu

Loại đối tượng phù hợp với người gọi

ghi chú

Khi deep=True, dữ liệu được sao chép nhưng các đối tượng Python thực tế sẽ không được sao chép đệ quy, chỉ có tham chiếu đến đối tượng. Điều này trái ngược với sao chép. deepcopy trong Thư viện chuẩn, sao chép đệ quy dữ liệu đối tượng [xem ví dụ bên dưới]

Trong khi các đối tượng

>>> s_copy = s.copy[]
>>> s_copy
a    1
b    2
dtype: int64
1 được sao chép khi deep=True, mảng numpy bên dưới không được sao chép vì lý do hiệu suất. Vì
>>> s_copy = s.copy[]
>>> s_copy
a    1
b    2
dtype: int64
1 là bất biến nên dữ liệu cơ bản có thể được chia sẻ một cách an toàn và không cần bản sao

Vì gấu trúc không phải là luồng an toàn, hãy xem khi sao chép trong môi trường luồng

ví dụ

>>> s = pd.Series[[1, 2], index=["a", "b"]]
>>> s
a    1
b    2
dtype: int64

>>> s_copy = s.copy[]
>>> s_copy
a    1
b    2
dtype: int64

Bản sao nông so với bản sao mặc định [sâu]

>>> s = pd.Series[[1, 2], index=["a", "b"]]
>>> deep = s.copy[]
>>> shallow = s.copy[deep=False]

Bản sao nông chia sẻ dữ liệu và lập chỉ mục với bản gốc

>>> s is shallow
False
>>> s.values is shallow.values and s.index is shallow.index
True

Bản sao sâu có bản sao dữ liệu và chỉ mục riêng

>>> s is deep
False
>>> s.values is deep.values or s.index is deep.index
False

Cập nhật dữ liệu được chia sẻ bởi bản sao nông và bản gốc được phản ánh trong cả hai;

>>> s[0] = 3
>>> shallow[1] = 4
>>> s
a    3
b    4
dtype: int64
>>> shallow
a    3
b    4
dtype: int64
>>> deep
a    1
b    2
dtype: int64

Lưu ý rằng khi sao chép một đối tượng chứa các đối tượng Python, bản sao sâu sẽ sao chép dữ liệu nhưng sẽ không thực hiện theo cách đệ quy. Cập nhật một đối tượng dữ liệu lồng nhau sẽ được phản ánh trong bản sao sâu

Làm cách nào để sao chép dữ liệu từ tệp CSV này sang tệp CSV khác trong gấu trúc Python?

Cách sao chép hàng từ tệp CSV này sang tệp CSV khác bằng Python. nhập csv import os File1 = 'in. csv' File2 = 'ra. csv' với open [File1,"r"] là r, open [File2,"a"] là w. người đọc = csv .

Làm cách nào để sao chép dữ liệu từ cột này sang cột khác trong DataFrame của gấu trúc?

Bạn chỉ cần sử dụng hàm fillna[] có sẵn trong pandas để giải quyết vấn đề này một cách rất hiệu quả.

Chủ Đề