

Python数据分析系列教程
2. Pandas基础教程+面试题串讲(本篇)
3. Matplotlib+seaborn可视化教程
4. 能力打通:iris数据可视化分析


课程代码(教学级)和数据集已整理到网盘,内容更全面,
关注『AI Power Lab』,对话框输入“pandas”免费获取~

Pandas数据结构:Series基础、DataFrame基础 Pandas数据处理:数据读取与写入、数据选择与索引、数据清洗 Pandas统计分析:数据运算与统计分析、分组与聚合(GroupBy)、数据合并与拼接
01
为什么是Pandas
pip install pandas #不指定版本号,默认安装最新版pip install pandas==<版本号> #指定版本号import pandas as pd02
必须掌握的Pandas数据结构
s = pd.Series([10, 20, 30, 40])print(s)# 输出010120230340dtype: int64s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])s.values #查看series的各元素值s.index #查看series的各元素索引data = {'name': ['Tom', 'Jack', 'Rose'],'age': [18, 20, 19]}df = pd.DataFrame(data)df.head() #查看头5行df.tail() #查看末5行df.shape #查看行列数df.columns #查看各列名df.index #查看索引df.columns = ['姓名', '年龄']03
Pandas数据处理
df = pd.read_csv('data.csv')sep:分隔符 header:指定表头 encoding:编码格式
df.to_csv('output.csv', index=False)df['name']df[['name', 'age']]df.iloc[0]df.iloc[0:2]df.iloc[0, 1]df.loc[0]df.loc[0:2, 'name']df[df['age'] > 18]df.isnull() #发现空值位置并返回布尔值,用于进一步处理数据df.dropna() #去除空值,可以在()中通过条件筛选指定去除的区域(条件筛选我们在上一篇讲过啦)df.fillna(0) #用0填充空值df.duplicated() #检测是否是重复行,返回布尔值,用于进一步处理数据df.drop_duplicates() #去除重复行df['age'] = df['age'].astype(int) #age字段转换为整型04
Pandas统计分析
df.describe() # 返回该dataframe的各项统计值df['age'].mean()df['age'].max()df['age'].min()df.sort_values(by='age')df['age_plus'] = df['age'] + 1df.groupby('gender')#按性别分组,计算每组的年龄均值df.groupby('gender')['age'].mean()#按性别分组,计算每组年龄的均值、最大值、最小值df.groupby('gender').agg({'age': ['mean', 'max', 'min']})pd.merge(df1, df2, on='id')pd.concat([df1, df2])05
Pandas统计分析案例
import pandas as pdnames = ['Tom', 'Jack', 'Rose', 'Lucy']scores = [85, 59, 90, 72]df = pd.DataFrame({'name': names,'score': scores})df[df['score'] < 60]defgrade(x):if x >= 90:return'A'elif x >= 70:return'B'else:return'C'df['grade'] = df['score'].apply(grade)df['score'].mean()df['score'].std()已经读到这里啦,来个点赞、喜欢和关注吧~
期待你在评论区分享想法和见解,也欢迎交个朋友。
想要第一时间收到推送,可以给我一个星标⭐哦!
你们的支持和鼓励,是我持续更新的最大动力 ❥(^_-)

06
高频面试题串讲

Series:一维带索引数组 DataFrame:二维表格结构 DataFrame 由多个 Series 组成
loc:基于标签 iloc:基于位置
split(拆分) apply(计算) combine(合并)
merge:类似 SQL join concat:按轴拼接
map:Series 专用 apply:更通用(行/列级操作)
df.loc[df.groupby('class')['score'].idxmax()]df['category'].value_counts()df[(df['score'] > 80) & (df['age'] > 18)]课程代码(教学级)和数据集已整理到网盘,内容更全面,
关注『AI Power Lab』,对话框输入“pandas”免费获取~
已经读到这里啦,来个点赞、喜欢和关注吧~
期待你在评论区分享想法和见解,也欢迎交个朋友。
想要第一时间收到推送,可以给我一个星标⭐哦!
你们的支持和鼓励,是我持续更新的最大动力 ❥(^_-)

往期推荐
夜雨聆风