Pandas如何进行数据排序和筛选

发布时间:2025-11-14 00:56:00 作者:小樊
来源:亿速云 阅读:86

Pandas 是一个强大的 Python 数据分析库,它提供了许多方法来对数据进行排序和筛选。以下是一些常用的方法和示例:

数据排序

  1. sort_values():根据指定的列对 DataFrame 进行排序。
import pandas as pd

# 创建一个示例 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
        'Age': [25, 30, 35, 28],
        'Salary': [50000, 60000, 70000, 55000]}
df = pd.DataFrame(data)

# 根据 'Age' 列升序排序
sorted_df = df.sort_values(by='Age')
print(sorted_df)

# 根据 'Salary' 列降序排序
sorted_df = df.sort_values(by='Salary', ascending=False)
print(sorted_df)
  1. sort_index():根据索引对 DataFrame 进行排序。
# 创建一个带有自定义索引的 DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
        'Age': [25, 30, 35, 28],
        'Salary': [50000, 60000, 70000, 55000]}
df = pd.DataFrame(data, index=['D', 'B', 'A', 'C'])

# 根据索引升序排序
sorted_df = df.sort_index()
print(sorted_df)

# 根据索引降序排序
sorted_df = df.sort_index(ascending=False)
print(sorted_df)

数据筛选

  1. loc[]:基于标签的索引,用于选择行和列。
# 选择 'Age' 大于 30 的所有行
filtered_df = df.loc[df['Age'] > 30]
print(filtered_df)

# 选择 'Name' 列和 'Age' 列
filtered_df = df.loc[:, ['Name', 'Age']]
print(filtered_df)
  1. iloc[]:基于整数位置的索引,用于选择行和列。
# 选择前两行和前两列
filtered_df = df.iloc[:2, :2]
print(filtered_df)

# 选择索引为 1 和 3 的行
filtered_df = df.iloc[[1, 3]]
print(filtered_df)
  1. query():使用查询字符串来筛选数据。
# 选择 'Age' 大于 30 的所有行
filtered_df = df.query('Age > 30')
print(filtered_df)

# 选择 'Name' 列以 'A' 开头的所有行
filtered_df = df.query('Name.str.startswith("A")')
print(filtered_df)
  1. isin():检查数据是否在给定的集合中。
# 选择 'Name' 列值为 'Alice' 或 'David' 的所有行
filtered_df = df[df['Name'].isin(['Alice', 'David'])]
print(filtered_df)

这些方法和示例应该能帮助你开始使用 Pandas 进行数据排序和筛选。根据你的具体需求,你可以组合使用这些方法来实现更复杂的数据操作。

推荐阅读:
  1. 人工智能之基于Python开发公众号的示例
  2. Python中解析XML的示例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:Ansible与云服务如何结合使用

下一篇:如何使用Pandas读取不同格式文件

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》