pandas 筛选出数值的列
时间: 2023-08-17 22:09:45 浏览: 170
要筛选出数值的列,你可以使用 Pandas 中的 `select_dtypes` 方法。这个方法可以根据数据类型选择指定的列。
下面是一个示例代码,演示如何筛选出数值的列:
```python
import pandas as pd
# 创建一个示例数据框
data = {'col1': [1, 2, 3], 'col2': ['a', 'b', 'c'], 'col3': [4.5, 5.6, 6.7]}
df = pd.DataFrame(data)
# 使用 select_dtypes 方法筛选出数值的列
numeric_cols = df.select_dtypes(include=['float', 'int']).columns
# 打印筛选出的数值列
print(numeric_cols)
```
上述代码中,`select_dtypes` 方法使用 `include` 参数指定了要包含的数据类型,这里选择了 `'float'` 和 `'int'` 类型。最后,通过 `.columns` 属性获取到筛选出的数值列名,并打印出来。
希望对你有所帮助!如果有任何问题,请随时提问。
相关问题
Python pandas如何筛选非空数值列
可以使用 dropna() 方法删除缺失值,然后使用 loc[] 方法选取非空数值列。代码如下:
```python
import pandas as pd
# 创建数据框
df = pd.DataFrame({'A': [1, 2, None, 4],
'B': [None, 6, 7, 8],
'C': [9, 10, 11, 12]})
# 删除缺失值
df = df.dropna()
# 选取非空数值列
df = df.loc[:, df.dtypes != 'object']
print(df)
```
输出结果:
```
A C
0 1.0 9
1 2.0 10
3 4.0 12
```
pandas筛选某一列中数值等于6的行
要在 Pandas 中筛选出某一列中数值等于 6 的行,你可以使用以下方法之一:
1. 使用布尔索引:
```python
df[df['列名'] == 6]
```
2. 使用 `query` 方法:
```python
df.query('列名 == 6')
```
3. 使用 `loc` 属性:
```python
df.loc[df['列名'] == 6, :]
```
其中,`df` 是你要处理的数据框,`列名` 是你要筛选的列。
例如,假设你有一个数据框 `df`,其中包含一列 `score`,你希望筛选出 `score` 值等于 6 的行。你可以使用如下代码:
```python
df[df['score'] == 6]
```
或者:
```python
df.query('score == 6')
```
或者:
```python
df.loc[df['score'] == 6, :]
```
这些方法都会返回一个新的数据框,其中包含所有满足条件的行。
阅读全文