Python Pandas 数据选择与过滤
2024-01-07 22:25:43
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)按行索引排序
文章来源:https://blog.csdn.net/weixin_42098295/article/details/135395891
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!