Pandas速成指南:45个案例搞定数据分析基本功

Pandas是Python中用于数据处理和分析的强大库。它提供了灵活的数据结构(如Series和DataFrame),以及用于数据清洗、转换、合并、分析等功能。本文介绍pandas常用的45个小案例,通过这些案例可以帮助大家快速入门pandas。

在这里插入图片描述

1. 创建Series

import pandas as pd      # 从列表创建Series   s1 = pd.Series([1, 2, 3, 4, 5])      # 从字典创建Series   s2 = pd.Series({'a': 1, 'b': 2, 'c': 3})   

2. 创建DataFrame

# 从字典创建DataFrame   data = {'Name': ['Alice', 'Bob', 'Charlie'],           'Age': [25, 30, 28],           'City': ['New York', 'London', 'Paris']}   df = pd.DataFrame(data)      # 从列表创建DataFrame   data = [['Alice', 25, 'New York'],           ['Bob', 30, 'London'],           ['Charlie', 28, 'Paris']]   df = pd.DataFrame(data, columns=['Name', 'Age', 'City'])   df   

3. 读取数据

# 读取CSV文件   df = pd.read_csv('data.csv')      # 读取Excel文件   df = pd.read_excel('data.xlsx')   

4. 查看数据

# 查看DataFrame的前几行   df.head()      # 查看DataFrame的后几行   df.tail()      # 查看DataFrame的信息   df.info()      # 查看DataFrame的统计摘要   df.describe()   

5. 选择数据

# 选择列   df['Name']      # 选择行   df.loc[0]      # 选择特定行和列   df.loc[0, 'Name']      # 使用条件选择数据   df[df['Age'] > 25]   

6. 修改数据

# 修改列名   df.rename(columns={'Name': 'CustomerName'}, inplace=True)      # 修改数据   df.loc[0, 'Age'] = 26   

7. 排序数据

# 按列排序   df.sort_values(by='Age', inplace=True)      # 按索引排序   df.sort_index(inplace=True)   

8. 过滤数据

# 删除重复行   df.drop_duplicates(inplace=True)      # 删除缺失值   df.dropna(inplace=True)   

9. 分组数据

# 按列分组   grouped = df.groupby('City')      # 对分组后的数据进行聚合   grouped.sum()   

10. 合并数据

# 连接DataFrame   df1 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value1': [1, 2, 3]})   df2 = pd.DataFrame({'key': ['B', 'C', 'D'], 'value2': [4, 5, 6]})   merged_df = pd.merge(df1, df2, on='key', how='inner')   

11. 数据透视表

# 创建数据透视表   pivot_table = pd.pivot_table(df, values='Age', index='City', columns='Name', aggfunc='mean')   

12. 字符串处理

# 将字符串转换为小写   df['Name'].str.lower()      # 拆分字符串   df['Name'].str.split(' ', expand=True)   

13. 日期处理

# 将字符串转换为日期   df['Date'] = pd.to_datetime(df['Date'])      # 提取日期   df['Year'] = df['Date'].dt.year   

14. 缺失值处理

# 填充缺失值   df['Age'].fillna(df['Age'].mean(), inplace=True)      # 使用插值填充缺失值   df['Age'].interpolate(inplace=True)   

15. 数据可视化

import matplotlib.pyplot as plt      # 绘制折线图   plt.plot(df['Age'], df['Salary'])   plt.show()      # 绘制柱状图   df['City'].value_counts().plot(kind='bar')   plt.show()   

16. apply函数

# 对DataFrame的每一列应用一个函数   df.apply(lambda x: x.mean())      # 对DataFrame的每一行应用一个函数   df.apply(lambda x: x.sum(), axis=1)   

17. map函数

# 将Series中的每个元素映射到一个新的值   df['Name'].map({'Alice': 'A', 'Bob': 'B', 'Charlie': 'C'})   

18. replace函数

# 替换DataFrame中的特定值   df.replace({'New York': 'NYC', 'London': 'LON'}, inplace=True)   

19. cut函数

# 将连续变量划分为离散的区间   pd.cut(df['Age'], bins=[0, 18, 35, 60, 100], labels=['Child', 'Young Adult', 'Adult', 'Senior'])   

20. qcut函数

# 将连续变量划分为具有相同数量元素的区间   pd.qcut(df['Age'], q=4, labels=['Q1', 'Q2', 'Q3', 'Q4'])   

21. get_dummies函数

# 将分类变量转换为哑变量   pd.get_dummies(df['City'])   

22. crosstab函数

# 计算两个分类变量的交叉表   pd.crosstab(df['City'], df['Age'] > 25)   

23. pivot函数

# 将DataFrame转换为长格式   df.pivot(index='Name', columns='City', values='Age')   

24. melt函数

# 将DataFrame转换为宽格式   pd.melt(df, id_vars=['Name'], value_vars=['Age', 'City'])   

25. to_csv函数

# 将DataFrame保存为CSV文件   df.to_csv('output.csv', index=False)   

26. to_excel函数

# 将DataFrame保存为Excel文件   df.to_excel('output.xlsx', index=False)   

27. to_json函数

# 将DataFrame保存为JSON文件   df.to_json('output.json')   

28. to_html函数

# 将DataFrame保存为HTML文件   df.to_html('output.html')   

29. to_string函数

# 将DataFrame转换为字符串   df.to_string()   

30. to_dict函数

# 将DataFrame转换为字典   df.to_dict()   

31. 随机抽样

# 从DataFrame中随机抽取n行   df.sample(n=10)      # 从DataFrame中随机抽取指定比例的行   df.sample(frac=0.5)   

32. 统计频数

# 统计Series中每个元素的频数   df['City'].value_counts()   

33. 众数

# 计算Series的众数   df['City'].mode()   

34. 中位数

# 计算Series的中位数   df['Age'].median()   

35. 标准差

# 计算Series的标准差   df['Age'].std()   

36. 方差

# 计算Series的方差   df['Age'].var()   

37. 协方差

# 计算两个Series的协方差   df['Age'].cov(df['Salary'])   

38. 相关系数

# 计算两个Series的相关系数   df['Age'].corr(df['Salary'])   

39. 累计求和

# 对Series进行累计求和   df['Age'].cumsum()   

40. 累计求积

# 对Series进行累计求积   df['Age'].cumprod()   

41. 累计最大值

# 对Series进行累计最大值计算   df['Age'].cummax()   

42. 累计最小值

# 对Series进行累计最小值计算   df['Age'].cummin()   

43. unique(去重)

# 'City'这列不重复值   df['City'].unique()   

44. 移动平均

# 计算Series的移动平均值   df['Age'].rolling(window=3).mean()   

45. 移动求和

以上是Pandas常用的45个小案例,通过这些案例,您将能够更加熟练地使用Pandas进行数据处理和分析。希望这些案例能对大家有所帮助

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
在这里插入图片描述

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

👉Python必备开发工具👈

在这里插入图片描述

👉Python学习视频合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值