python dataframe复制列
时间: 2024-11-28 13:19:22 浏览: 27
Python通过两个dataframe用for循环求笛卡尔积
在Python的pandas库中,DataFrame是一种二维表格型的数据结构,它可以方便地处理大量数据。如果你想要复制DataFrame中的某一列,有几种常见的方法:
1. **深拷贝(Deep Copy)**:如果想创建一列全新的副本,可以使用`.copy()`函数,例如:
```python
df['new_column'] = df['original_column'].copy()
```
2. **浅拷贝(Shallow Copy)**:`df[['column_name']]`返回的是视图,不是独立的副本,所以修改视图会影响原始数据,除非使用 `.copy()`。例如:
```python
# 如果只想保留引用而不想复制数据,可以这样做:
new_col_view = df['column_name']
```
要确保复制数据,需要额外加上`.copy()`:
```python
new_col_view_copy = df['column_name'].copy()
```
3. **通过列名索引并赋值**:可以直接通过列名再次获取列然后赋值给新的列名:
```python
df['new_column'] = df['original_column']
```
记住,`copy()`总是会创建一个新的数据结构,而直接赋值则取决于底层数据是否共享。
阅读全文