在日常python数据分析过程中,pandas作为python中强大的数据处理库,可以帮助我们快速的对数据进行预处理和数据现状分析,节约大量的时间。
今天就将最最常用的数据处理部分进行详细的案例代码总结如下:
1.数据写入:单一数据写入新EXCEL表格
2.数据写入:多数据写入EXCEL中,创建多个表格,同时写入不同的数据
3.数据查看:快速获取前10条数据进行数据查看
4.数据查看:快速查看不同行列数据
5.数据查看:查看最大值和最小值
6.数据处理:数据重复、删除、缺失处理
7.快速筛选:快速筛选数据以了解数据
8.数据提取:提取个人性别或者生日信息
9.数据统计:求和、平均、排序
10.数据分箱:对数据进行分箱统计
实例1:数据写入:单一数据写入新EXCEL表格
import pandas as pd` `# 首先创建一个空的DataFrame,添加列的名称:姓名` `df = pd.DataFrame(columns=['姓名'])` `# 然后建立一个列表数据,列表里面是人的姓名信息` `name_list = ['小李', '小张', '小五', '小六', '小七', '小八', '小九', '小十', '小高', '小马']` `# 将列表名字添加到DataFrame中` `df['姓名'] = name_list` `# 最后保存为一个新的Excel文件,文件名称为:个人信息表.xlsx` `df.to_excel('个人信息表.xlsx', index=False)
实例2:数据写入:多数据写入EXCEL中,创建多个表格,同时写入不同的数据
import pandas as pd` `# 创建一个有数据的新DataFrame用于存入excel` `data1 = pd.DataFrame({'A': [1, 5, 6], 'B': [4, 8, 9]})` `data2 = pd.DataFrame({'C': ['a1', 'b1', 'c1'], 'D': ['a2', 'b2', 'c2']})` `# 创建一个Excel写入对象` `writer = pd.ExcelWriter('output_info.xlsx')` `# 写入不同数据到不同工作表` `data1.to_excel(writer, sheet_name='Sheet1', index=False)` `data2.to_excel(writer, sheet_name='Sheet2', index=False)` `# 保存文件` `writer.save()
实例3:数据查看:快速获取前10条数据进行数据查看
import pandas as pd` `#先读取Excel文件``df = pd.read_excel('个人信息表.xlsx')``# 获取前10个人的数据``top_10_data = df.head(10)``print(top_10_data)
实例4:数据查看:快速查看不同行列数据
`import pandas as pd` `# 创建一个有数据的新DataFrame用于存入excel` `df = pd.DataFrame({'A': [1, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6], 'B': [4, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9]}) ``#显示所有列` `pd.set_option('display.max_columns', None)` `print(df)` `#显示所有行` `pd.set_option('display.max_rows', None)` `print(df)` `#设置value的显示长度为100,默认为50` `pd.set_option('max_colwidth',100) ``# 行索引前后都包,列索引前包后包` `print(df.loc[0:5, ('A', 'B')])` `# 行列索引前包后不包` `print(df.iloc[0:5, 0:5])`
实例5:数据查看:查看最大值和最小值
import pandas as pd` `data = pd.read_csv('data.csv')` `mean_value = data['score'].mean()` `max_value = data['score'].max()` `min_value = data['score'].min()` `print("平均值:", mean_value)` `print("最大值:", max_value)` `print("最小值:", min_value)
实例6:数据处理:数据重复、删除、缺失处理
`import pandas as pd` `# 首先创建一个空的DataFrame` `df = pd.DataFrame(columns=['sample'])` `# 然后建立一个列表数据,列表里面是人的姓名信息` `sample_list = ['1', ' ', '6', '7', '6', '13', '7', ' ',None, '25']` `df['sample']=sample_list` `# 查看重复的数据` `print(df[df.duplicated()])` `# 删除重复的数据` `print(df.drop_duplicates()) ``# sum(col.isnull())表示当前列有多少缺失,col.size表示当前列总共有多少行数据` `print(df.apply(lambda col: sum(col.isnull())/col.size)) ``# 填补缺失值` `print(df['sample'].fillna('未知')) ``# 默认的bool类型` `print(df['sample'].isnull())` `# 数值0、1型指示变量` `print(df['sample'].isnull().apply(int))`
实例7:快速筛选:快速筛选数据以了解数据
`import pandas as pd` `# 首先读取Excel文件` `df = pd.read_excel('学生成绩表信息.xlsm')` `# 筛选出数学和语文成绩同时大于等于70的学生` `filter_data = df[(df['数学成绩'] >=70) & (df['语文成绩'] >=70)]` `print(filter_data)`
实例8:数据提取:提取个人性别或者生日信息
`import pandas as pd ``# 创建一个空的DataFrame` `df = pd.DataFrame(columns=['性别', '姓名', '身份证号']) ``# 编造5个人的信息并添加到DataFrame中` `new_data = {'性别': ['男', '女', '男', '女', '男'], `` '姓名': ['张三', '李四', '王五', '赵六', '钱七'], ``'身份证号': ['320125198605041234', '310226199505082445', '440102196705041534', '500233198402041244','610322200105301334']}` `df = df.append(pd.DataFrame(new_data)) ``# 保存为Excel文件` `df.to_excel('个人信息表.xlsx', index=False) ``# 重新从Excel文件中读取数据` `df = pd.read_excel('人员信息表.xlsx') ``# 统计男女数量` `gender_counts = df['性别'].value_counts()` `male_count = gender_counts.get('男', 0)` `female_count = gender_counts.get('女', 0)` `print('男性人数:', male_count)` `print('女性人数:', female_count) ``# 通过身份证号计算出生日期` `def get_birthday(id_number): `` iflen(str(id_number)) ==18: `` birthday =str(id_number)[6:14] `` year = birthday[0:4] `` month = birthday[4:6] `` day = birthday[6:8] `` return year +'年'+ month +'月'+ day +'日' `` else: `` return'非法身份证号' ``df['出生日期'] = df['身份证号'].apply(get_birthday) ``# 打印结果` `print(df)`
实例9:数据统计:求和、平均、排序
`import pandas as pd` `# 创建一个data数据` `data = { `` '姓名': ['小三', '小四', '小五', '小六', '小七'], `` '语文成绩': [80, 95, 85, 88, 92], `` '数学成绩': [70, 85, 87, 78, 83], ``'英语成绩': [75, 80, 82, 82, 88]` `}` `# 创建对应data的DataFrame` `df = pd.DataFrame(data)` `# 保存为Excel文件` `df.to_excel('学生成绩汇总表.xlsx', index=False)` `# 读取Excel文件` `df = pd.read_excel('学生成绩汇总表.xlsx')` `# 计算总分和平均分` `df['总分'] = df['语文成绩'] + df['数学成绩'] + df['英语成绩']` `df['平均分'] = df[['语文成绩', '数学成绩', '英语成绩']].mean(axis=1)` `# 排名` `df['排名'] = df['总分'].rank(ascending=False, method='min')` `# 将计算结果保存到Excel文件` `df.to_excel('学生成绩汇总表.xlsx', index=False)` `# 重新读取Excel文件并打印结果` `df = pd.read_excel('学生成绩汇总表.xlsx')` `print(df)`
实例10:数据分箱:对数据进行分箱统计
import pandas as pd` `# 首先创建一个空的DataFrame` `df = pd.DataFrame(columns=['分箱'])` `# 然后建立一个列表数据,列表里面是人的姓名信息` `box_list = [1, 4, 6, 7, 10, 13, 19, 20, 25, 30, 45, 48, 55, 70, 80, 90]` `df['分箱'] = box_list` `# 等宽分箱:每个分箱的取值范围一致` `print(pd.cut(df['分箱'], 4))` `# 不等宽分箱:自定义分箱` `print(pd.cut(df['分箱'], bins=4, labels=[1, 20, 60, 90])) ``# 等深分箱:每个分箱样本数量一致(分2箱的分位数)` `print(df['分箱'].quantile([0, 0.5, 1]))` `# include_lowest=True表示包含边界的最小值` `print(pd.cut(df['分箱'], bins=df['分箱'].quantile([0, 0.5, 1]), include_lowest=True))
–END–
关于Python学习指南
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!
👉Python所有方向的学习路线👈
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)
👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python70个实战练手案例&源码👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉Python大厂面试资料👈
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
👉Python副业兼职路线&方法👈
学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。
👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取【保证100%免费
】