详解Python数据分析--Pandas知识点
简介
Pandas 是基于 NumPy 数组构建的数据分析工具,专门针对于数据的处理和分析。它提供了许多用于数据清洗、分析和转换的高级函数,可以快速、简便地处理数据。
本文将介绍 Pandas 的基本操作和常用函数,希望能对需要使用 Pandas 进行数据分析的人员提供帮助。
Pandas基本操作
数据读取
Pandas 支持的数据类型包括 CSV 文件、Excel 文件、SQL 数据库、JSON 文件等。
读取 CSV 文件的方法:
import pandas as pd
data = pd.read_csv("data.csv")
读取 Excel 文件的方法:
data = pd.read_excel("data.xlsx")
数据清洗
数据清洗是数据分析的第一步,它包括缺失值处理、异常值处理、重复值处理等。
删除包含缺失值的行或列:
data.dropna(axis=0/1, how='any/all', thresh=NaN)
其中 axis=0 表示删除包含缺失值的行,axis=1 表示删除包含缺失值的列;how='any' 表示只要有缺失值就删除,how='all' 表示所有值都是缺失值才删除;thresh=NaN 表示在一行或一列中至少有 NaN 后才删除。
删除包含重复值的行:
data.drop_duplicates(subset=None, keep='first', inplace=False)
其中 subset=None 表示对数据的所有列进行比较,keep='first' 表示保留第一次出现的重复值,inplace=False 表示返回一个新的 DataFrame。
数据筛选
数据筛选可以根据条件对数据进行筛选和过滤。
根据某一列的数值进行筛选:
data[data['col']>0]
其中 col 是 DataFrame 中的一列,该方法返回 col 列中大于 0 的行。
数据统计与聚合
数据统计和聚合是对数据进行汇总和统计的重要方法。
data.describe()
该方法返回数据的像数值列(非 object 和 category 类型)的最小值、25%分位数、中位数、75%分位数和最大值。
统计每个类别的样本数:
data.groupby('col')['col'].count()
其中 col 表示 DataFrame 中的一列,该方法返回 col 列中每个值的样本数。
示例说明
分析餐厅顾客数量
假设我们要分析餐厅的顾客数量,以便优化餐厅的经营策略。
首先,我们可以读取一份包含日期、时间和顾客数量的 CSV 文件:
import pandas as pd
data = pd.read_csv("restaurant.csv")
接着,我们可以查看数据的前几行:
print(data.head())
然后,我们可以统计每个时间段的顾客数量并绘制折线图:
import matplotlib.pyplot as plt
data.groupby('time')['customer'].sum().plot(kind='line', x='time', y='customer')
plt.show()
该方法返回每个时间段的顾客数量总和,并绘制出折线图。
分析学生成绩
假设我们要分析学生的考试成绩,以便评估教学质量和帮助落后学生。
首先,我们可以读取一份包含学生姓名、学号和考试成绩的 Excel 文件:
data = pd.read_excel("score.xlsx")
接着,我们可以筛选出英语成绩在 80 分以上的学生:
english_data = data[data['English']>80]
然后,我们可以计算每位学生的平均成绩并按照平均成绩从高到低排名:
total_score = data.sum(axis=1)-data['No'] # 计算总成绩
data['total_score'] = total_score # 将总成绩添加到 DataFrame 中
mean_score = data.groupby('name')['total_score'].mean() # 计算每位学生的平均成绩
rank = mean_score.sort_values(ascending=False) # 将平均成绩从高到低排名
该方法计算每位学生的总成绩和平均成绩,并按照平均成绩排名,可以用于评估教学质量和帮助落后学生。
总结
本文介绍了 Pandas 的基本操作和常用函数,并且提供了两个示例,希望能对需要使用 Pandas 进行数据分析的人员提供帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python数据分析–Pandas知识点 - Python技术站