pandas如何删除行和列
时间: 2023-05-24 19:06:07 浏览: 93
Pandas 可以利用 `drop()` 方法来删除行或者列。
删除行:
```python
# 删除行
df = df.drop(index=[1, 3, 5])
# 删除符合条件的行
df = df.drop(df[df['age'] < 18].index)
```
删除列:
```python
# 删除列
df = df.drop(columns=['id', 'name'])
# 删除符合条件的列
df = df.drop(df.columns[df.isnull().sum() > 100], axis=1)
```
在 `drop()` 方法中,通过 `index` 参数指定要删除的行的索引值;通过 `columns` 参数指定要删除的列的名称。同时,可以通过 `axis` 参数指定是按行删除还是按列删除,默认是按行删除,需要删除列时需要将 `axis` 设置为 `1`。
相关问题
查看删除后的pandas 的行和列数
在删除带有 NaN 值的行或列之后,我们可以使用 `shape` 属性来查看删除后的 DataFrame 的行数和列数,具体操作如下:
```python
import pandas as pd
import numpy as np
# 创建一个带有 NaN 值的 DataFrame
df = pd.DataFrame({'A': [1, 2, np.nan, 4], 'B': [5, np.nan, 7, 8], 'C': [9, 10, 11, 12]})
# 删除带有 NaN 值的行
df = df.dropna()
# 查看删除后的 DataFrame 的行数和列数
print(df.shape)
```
输出结果为:
```
(1, 3)
```
其中,`(1, 3)` 表示删除后的 DataFrame 有 1 行和 3 列。
pandas删除指定重复列的行
可以使用 pandas 中的 drop_duplicates 方法来删除指定列的重复行。代码示例如下:
```python
import pandas as pd
# 创建示例数据
df = pd.DataFrame({
'A': [1, 2, 3, 4, 2],
'B': [4, 5, 6, 7, 5],
'C': [7, 8, 9, 10, 8],
})
# 删除重复行
df.drop_duplicates(subset=['A'], keep=False, inplace=True)
# 输出结果
print(df)
```
上述代码中,我们通过 `subset` 参数指定需要删除重复行的列,这里我们选择了列名为 `A` 的列。`keep` 参数指定保留重复行的方式,`False` 表示全部删除。最后使用 `inplace` 参数将修改保存到原始 DataFrame 中。
阅读全文