Python Pandas 数据选择与过滤

发布时间 2024-01-04 20:58:33作者: leviliang

Python的Pandas库是一个强大的数据处理和分析工具,其中数据选择与过滤是其核心功能之一。这些功能使用户能够高效地访问、修改、筛选出数据集中的特定部分。数据选择与过滤功能提供了数据操作的强大灵活性,使得数据分析工作流程变得更加高效和精确。本文主要介绍Python Pandas 数据选择与过滤。

1、列的选择、过滤和排序

选择、过滤和排序 Pandas DataFrame 中的列。这些操作是数据处理的基础,对于数据分析来说至关重要。

参考文档:

Python pandas dataframe 行列使用常用操作

Python pandas dataframe 行列的常用操作及运算

1)列的选择

可以直接使用列名、使用.loc[]、使用.iloc[]以及条件选择列。

import pandas as pd

# 创建示例DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9],
    'D': [10, 11, 12]
})

# 直接使用列名
column_a = df['A']

# 使用.loc[]选择器
columns_ab = df.loc[:, ['A', 'B']]

# 使用.iloc[]选择器
column_first = df.iloc[:, 0]  # 第一列
columns_first_two = df.iloc[:, :2]  # 前两列

参考文档:Python Pandas 数据选择与过滤-CJavaPy

2)列的过滤

可以基于列名的过滤、基于条件的过滤、使用列表推导式和使用filter函数的方法进行过滤,如下,

import pandas as pd

# 创建示例DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6],
    'C': [7, 8, 9],
    'D': [10, 11, 12]
})

# 基于列名的过滤
filtered_by_name = df[['A', 'C']]

# 基于条件的过滤:选择平均值大于5的列
filtered_by_condition = df.loc[:, df.mean() > 5]

# 使用列表推导式:选择列名以'B'或'C'开头的列
filtered_by_list_comprehension = df[[col for col in df.columns if col.startswith('B') or col.startswith('C')]]

 参考文档:Python Pandas 数据选择与过滤-CJavaPy

3)列的排序

Pandas提供了多种方法来对列进行排序,既可以根据列的值排序,也可以根据列的标签(名称)排序。

import pandas as pd

# 创建示例DataFrame
df = pd.DataFrame({
    'Name': ['C#', 'JAVA', 'Python'],
    'Age': [24, 27, 22],
    'Salary': [70000, 80000, 60000]
})

# 根据Age列的值升序排序
sorted_by_age = df.sort_values(by='Age')

# 根据Salary列的值降序排序
sorted_by_salary_desc = df.sort_values(by='Salary', ascending=False)

# 将列名排序并使用这个顺序重新排列列
sorted_by_column_label = df[sorted(df.columns)]

 参考文档:Python Pandas 数据选择与过滤-CJavaPy

2、行的选择、过滤和排序

Python Pandas 提供了多种方法来根据标签索引、位置索引或条件来选择、过滤和排序 DataFrame 中的行。

参考文档:

Python pandas dataframe 行列使用常用操作

Python pandas dataframe 行列的常用操作及运算

1)行的选择

Pandas提供了多种方法来选择行,这使得数据分析和处理变得更加灵活和高效。

 参考文档:Python Pandas 数据选择与过滤-CJavaPy

2)行的过滤

行的过滤是指基于一定条件从DataFrame中提取特定的行。

  使用示例:Python Pandas 数据选择与过滤-CJavaPy

3)按行索引排序

 使用示例:Python Pandas 数据选择与过滤-CJavaPy