admin管理员组

文章数量:1541757

在日常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%免费

本文标签: 利器宝贵效率时间摸鱼