Pandas如何在原表中创建新列
时间: 2024-05-04 12:15:15 浏览: 95
Pandas中可以通过直接赋值的方式在原表中创建新列,例如:
```
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': ['a', 'b', 'c']})
df['C'] = [4, 5, 6]
print(df)
```
这样就在原表中创建了一个名为'C'的新列,并将值[4, 5, 6]赋给该列。
相关问题
pandas按两列条件添加新列
可以使用pandas的apply函数和lambda表达式来实现按两列条件添加新列,具体代码如下:
```python
import pandas as pd
# 创建示例数据
data = {'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10], 'C': [11, 12, 13, 14, 15]}
df = pd.DataFrame(data)
# 按两列条件添加新列
df['D'] = df.apply(lambda x: x['A'] + x['B'] if x['C'] > 12 else x['A'] - x['B'], axis=1)
print(df)
```
这段代码会在原数据框中添加一列名为D的新列,根据条件判断,如果列C中的值大于12,则新列D的值为列A和列B的和,否则为列A和列B的差。
使用pandas 移除data frame 中的列
在Python的数据处理库Pandas中,如果你想移除DataFrame中的某一列,你可以使用`drop`函数。这个函数的基本语法如下:
```python
df.drop(column_name, axis=1, inplace=False)
```
这里参数说明:
- `column_name`: 你想要删除的列名。
- `axis=1`: 指定轴,`0`表示行,`1`表示列(默认)。因为我们要删除的是列,所以设置为`1`。
- `inplace=False`: 默认情况,`drop`不会直接修改原 DataFrame,而是返回一个新的 DataFrame。如果设置为`True`,则会直接在原 DataFrame上进行操作。
例如,如果你有一个名为`df`的DataFrame,并想删除名为`'column_to_drop'`的列,可以这样操作:
```python
df = df.drop('column_to_drop', axis=1)
```
这将创建一个新的DataFrame,而不影响原始的`df`。如果你想在原地删除,即直接改变`df`,需要加上`inplace=True`:
```python
df.drop('column_to_drop', axis=1, inplace=True)
```
阅读全文