Skip to content

数据选择

Pandas 提供了多种灵活的数据选择方式。

列选择

python
import pandas as pd

df = pd.DataFrame({
    '姓名': ['张三', '李四', '王五'],
    '年龄': [25, 30, 35],
    '城市': ['北京', '上海', '广州']
})

# 选择单列(返回Series)
print(df['姓名'])

# 选择多列(返回DataFrame)
print(df[['姓名', '年龄']])

行选择

python
# 通过切片选择行
print(df[0:2])  # 选择第0到1行

loc 标签索引

python
df = pd.DataFrame({
    '姓名': ['张三', '李四', '王五'],
    '年龄': [25, 30, 35]
}, index=['a', 'b', 'c'])

# 选择单行
print(df.loc['a'])

# 选择多行
print(df.loc['a':'b'])

# 选择特定行列
print(df.loc['a', '姓名'])
print(df.loc['a':'b', ['姓名', '年龄']])

iloc 位置索引

python
# 通过位置选择
print(df.iloc[0])        # 第一行
print(df.iloc[0:2])      # 第0到1行
print(df.iloc[0, 0])     # 第一行第一列
print(df.iloc[:, 0])     # 第一列

条件选择

python
# 单条件
print(df[df['年龄'] > 25])

# 多条件
print(df[(df['年龄'] > 25) & (df['城市'] == '上海')])

# isin 方法
print(df[df['城市'].isin(['北京', '广州'])])

query 方法

python
# 使用query进行筛选
print(df.query('年龄 > 25'))
print(df.query('城市 == "北京"'))

过滤函数

python
# filter 方法
print(df.filter(items=['姓名', '年龄']))  # 过滤列
print(df.filter(like='名'))              # 匹配列名

掌握这些数据选择方法,可以灵活高效地处理各种数据筛选需求。