使用python pandas 删除column
时间: 2023-12-13 15:03:40 浏览: 84
在 Python 中,可以使用 Pandas 库来操作表格数据。如果您想要删除 Pandas DataFrame 中的某一列,可以使用 `drop()` 方法来实现。具体的代码如下:
```python
import pandas as pd
# 读取包含表格数据的文件
df = pd.read_excel("data.xlsx")
# 删除名为 "Column Name" 的列
df = df.drop("Column Name", axis=1)
# 将修改后的数据保存到新文件中
df.to_excel("new_data.xlsx", index=False)
```
在上面的代码中,`drop()` 方法的第一个参数是要删除的列名,第二个参数 `axis=1` 表示要删除列(默认是删除行),修改后的数据保存到新文件中。
如果要删除多列,可以将列名放在一个列表中,如下所示:
```python
# 删除多个列
df = df.drop(["Column 1", "Column 2"], axis=1)
```
需要注意的是,`drop()` 方法并不会修改原始的 DataFrame,而是返回一个新的 DataFrame,所以需要将修改后的数据保存到变量中或者新的文件中。
相关问题
python pandas column names search with regex
在Python的pandas库中,如果你想要通过正则表达式搜索列名,你可以使用`DataFrame.columns.str.contains()`函数结合`re`模块来实现。这个函数会返回一个布尔系列,其中True表示列名匹配给定的正则表达式模式。
例如:
```python
import pandas as pd
import re
# 假设你有一个DataFrame df
df = pd.DataFrame({
'A1': [1, 2, 3],
'B2 pattern': [4, 5, 6],
'Column_with_numbers': [7, 8, 9]
})
# 搜索包含数字的列名
pattern = r'\d+' # 正则表达式模式,这里匹配一个或多个数字
matches = df.columns.str.contains(pattern)
# 现在matches是一个布尔Series,你可以筛选出匹配的列名
matching_columns = df.columns[matches]
print(matching_columns)
```
在这个例子中,`matching_columns`将会是`['B2 pattern', 'Column_with_numbers']`,因为它们的列名中都包含了数字。
python pandas删除列
要删除 pandas DataFrame 中的列,可以使用 `drop` 方法。例如,如果要删除名为 `column_name` 的列,可以使用以下代码:
```python
df = df.drop('column_name', axis=1)
```
其中,`axis=1` 表示删除列。如果要删除多列,可以将列名作为列表传递给 `drop` 方法:
```python
df = df.drop(['column_name_1', 'column_name_2'], axis=1)
```
阅读全文