df2_drop=df2.drop(['文物采样点'], axis=1, inplace=True) df3_drop=df3.drop(['文物编号', '表面风化'], axis=1, inplace=True),这里我想要删除pandas数据集中的指定列,可是他全部都删完了
时间: 2023-12-22 07:05:31 浏览: 66
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
`inplace=True` 参数会直接修改原 DataFrame,如果你在 `drop()` 方法中使用了 `inplace=True`,那么返回值为 `None`,并且原 DataFrame 会被修改。因此,`df2_drop` 和 `df3_drop` 都是 `None`,这是正常的行为。
如果你想要保留原 DataFrame,并删除指定列生成一个新的 DataFrame,可以不使用 `inplace=True` 参数。例如:
```python
import pandas as pd
# 创建一个包含空值的 DataFrame
df = pd.DataFrame({'A': [1, 2, None, 4], 'B': [None, 6, 7, 8], 'C': [9, 10, 11, 12]})
# 删除指定列生成新的 DataFrame
df_new = df.drop(['A', 'B'], axis=1)
# 打印删除后的 DataFrame
print(df_new)
```
输出:
```
C
0 9
1 10
2 11
3 12
```
在上面的代码中,我们使用 `drop()` 方法删除了 DataFrame 中的 'A' 和 'B' 列,并生成了一个新的 DataFrame `df_new`,而原 DataFrame `df` 并没有被修改。
阅读全文