在这里插入图片描述


包含编程资料、学习路线图、源代码、软件安装包等!【[点击这里]】!

Pandas是Python中用于数据处理和分析的强大库。它提供了灵活的数据结构(如Series和DataFrame),以及用于数据清洗、转换、合并、分析等功能。本文介绍pandas常用的60个小案例,通过这些案例可以帮助大家快速入门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.移动求和
# 计算Series的移动和   
df['Age'].rolling(window=3).sum()   
46.窗口函数
# 使用窗口函数计算Series的排名   
df['Age'].rank()   
47.时间序列
# 创建一个时间序列   
dates = pd.date_range('2023-01-01', periods=10)   
ts = pd.Series(range(10), index=dates)   
48.重采样
# 对时间序列进行重采样   
ts.resample('D').mean()   
49.频率转换
# 将时间序列的频率转换为其他频率   
ts.asfreq('H', method='ffill')   
50.时区转换
# 将时间序列的时区转换为其他时区   
ts.tz_localize('UTC').tz_convert('US/Eastern')   
51.字符串索引
# 使用字符串作为索引   
s = pd.Series([1, 2, 3], index=['a', 'b', 'c'])   s['a']   
52.多级索引
# 创建一个多级索引   
index = pd.MultiIndex.from_tuples([('A', 1), ('A', 2), ('B', 1), ('B', 2)], names=['Level1', 'Level2'])   
s = pd.Series([1, 2, 3, 4], index=index)   s['A']   
53.索引切片
# 对索引进行切片 
s['A': 'B']   
54.索引选择
# 使用索引选择数据  
s.loc[('A', 1)]   
55.索引排序
# 对索引进行排序  
s.sort_index()   
56.索引重置
# 重置索引   
df.reset_index(inplace=True)   
57.设置索引
# 设置索引   
df.set_index('Name', inplace=True)   
58.层次化索引
# 创建层次化索引   
df.set_index(['City', 'Name'], inplace=True)   
59.交换索引级别
# 交换层次化索引的级别   
df.swaplevel(0, 1)   
60.堆叠和取消堆叠
# 堆叠索引   
stacked = df.stack()      
# 取消堆叠索引   
stacked.unstack()   
  • 以上是Pandas常用的60个小案例,通过这些案例,您将能够更加熟练地使用Pandas进行数据处理和分析。希望这些案例能对大家有所帮
    图片

总结

  • 最后希望你编程学习上不急不躁,按照计划有条不紊推进,把任何一件事做到极致,都是不容易的,加油,努力!相信自己!

文末福利

  • 最后这里免费分享给大家一份Python全套学习资料,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
包含编程资料、学习路线图、源代码、软件安装包等!【[点击这里]】领取!
  • ① Python所有方向的学习路线图,清楚各个方向要学什么东西
  • ② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
  • ③ 100多个Python实战案例,学习不再是只会理论
  • ④ 华为出品独家Python漫画教程,手机也能学习

可以扫描下方二维码领取【保证100%免费在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐