任务1:Pandas数据读取、保存和数据类型

任务要点:文件读取、保存、数据类型分析

  • 步骤1:读取文件https://cdn.coggle.club/Pokemon.csv
  • 步骤2:将读取的进行保存,表头也需要保存
  • 步骤3:分析每列的类型,取值个数
  • 步骤4:分析每列是否包含缺失值

代码如下

import pandas as pd
doc=pd.read_csv( 'E:\Pokemon.csv')
print(doc)
file=pd.DataFrame(doc)
file2=file.to_csv('csv文件.csv',header=True)
print(file.info())#分析每列的类型,取值个数
null_all=file.isnull().sum()#分析每列缺失值个数
print(null_all)#缺失值个数统计
print(file.isnull())#- 分析每列是否包含缺失值

任务2:Pandas数据位置索引

任务要点:数据选择、数据索引

  • 步骤1:读取文件https://cdn.coggle.club/Pokemon.csv
  • 步骤2:选择出Total列
  • 步骤3:选择出Total列和HP列
  • 步骤4:选择出第10-40行数据
  • 步骤5:选择出第10-40行的Total列和HP列
  • import pandas as pd
    df=pd.read_csv('E:\Pokemon (1).csv')
    file=pd.DataFrame(df)
    file.to_csv('CSV文件2.csv')
    print(df[['Total']])#选择出total列
    print(df[['Total','HP']])#选择出Total列和HP列
    print(file.iloc[10:41,:])#选择出第10-40行数据
    print(file.iloc[10:41,:],[['Total','HP']])#选择出第10-40行的Total列和HP列
  • 任务3:Pandas数据逻辑索引

    任务要点:逻辑索引

  • 步骤1:读取文件https://cdn.coggle.club/Pokemon.csv
  • 步骤2:筛选出Type 1 为 Grass的数据
  • 步骤3:筛选出Type 1 为 Grass的数据 且 Type 2 为 Poison的数据
  • 步骤4:筛选出HP大于50 或 Speed小于90的数据
  • 步骤5:筛选出Type 1 取值为Grass 或 Fire,且 HP 位于 70 与 90之间,且 Speed以数字8开头的数据
  • import pandas as pd
    file=pd.read_csv('E:\Pokemon (2).csv')#读取CSV文件
    df=pd.DataFrame(file)
    df2=df.set_index('Type 1')#设置列索引'Type 1'
    print(df2.loc['Grass'])#再运用loc索引器找出'Grass'
    df3=df2.set_index('Type 2',append=True)#多级索引
    df2_sorted=df3.sort_index()
    print(df2_sorted.loc[('Grass','Poison')])#多级索引下查找
    def condition(x):#筛选出HP大于50 或 Speed小于90的数据a=x.HP>50b=x.Speed<90result=a&breturn result
    print(df3.loc[condition])
    df4=df.set_index(['Type 1'])
    df5=df4.loc[['Grass','Fire']]
    df4_sorted=df5.sort_index()def B(x):#筛选出Type 1 取值为Grass 或 Fire,且 HP 位于 70 与 90之间,且 Speed以数字8开头的数据a=x.HP>70b=x.HP<90c=[str(d).startswith('8')for d in df4_sorted.Speed.values]result=a&b&creturn result
    print(df4_sorted.loc[B])
  • 任务4:Pandas数据分组聚合

    任务要点:groupby、agg、transform

  • 步骤1:读取文件https://cdn.coggle.club/Pokemon.csv
  • 步骤2:学习groupby分组聚合的使用
  • 步骤3:学习agg分组聚合的使用
  • 步骤4:学习transform的使用
  • 步骤5:使用groupby、agg、transform,统计数据在Type 1分组下 HP的均值
  • import pandas as pd
    file=pd.read_csv('E:\Pokemon (3).csv')
    print(file)
    file1=file.groupby('Type 1')['HP']
    print(file1.agg({'HP':'mean'}))
    print(file1.transform('mean'))
  • 任务5:Pandas日期数据处理

    任务要点:日期处理

  • 步骤1:创建一列dt,dt取值为从1638263656 到 1638283656 的 unix时间
  • 步骤2:将dt列转为datatime格式
  • 步骤3:筛选出dt列中小时为10的行
  • 步骤4:将dt列整体增加8小时的时间
  • import pandas as pd
    import datetime
    import time
    timestamp_star=1638263656
    timestamp_ends=1638283656
    dt=pd.to_datetime(range(timestamp_star,timestamp_ends),unit='s')#时间戳转换为datetime类型
    print(dt)
    print(dt[dt.hour==10])#筛选出dt列中小时为10的行
    time.sleep(1.05)
    dt=dt+datetime.timedelta(hours=8)#将dt列整体增加8小时的时间
    print(dt)
  • 任务6:Pandas缺失值处理

  • 步骤1:读取文件https://cdn.coggle.club/Pokemon.csv
  • 步骤2:分析每列的缺失值
  • 步骤3:对每列的缺失值进行填空
  • import pandas as pd
    file=pd.read_csv("E:\Pokemon (4).csv")
    df=pd.DataFrame(file)
    print(df.info())#可分析缺失值个数
    df=df.fillna(value=0)#关键赋值
    print(df.isna())#查看
  • 任务7:Pandas数据可视化

    任务要点:plot

  • 步骤1:读取文件https://cdn.coggle.club/Pokemon.csv
  • 步骤2:统计Type 1分组下HP、Attack、Defense的均值,并进行绘制柱状图
  • 步骤3:将所有样本的HP、Attack绘制散点图
  • import pandas as pd
    import matplotlib as mpl
    #import matplotlib.pyplot as plt
    from matplotlib import pyplot as plt
    plt.rcParams['font.family'] = ['Source Han Sans CN']
    file=pd.read_csv("E:\Pokemon (5).csv")
    df=pd.DataFrame(file)
    mean=df.groupby('Type 1')[['HP','Attack','Defense']].mean()
    #条形图
    mean.plot(kind='bar',title='均值')
    plt.show()
    #散点图
    data=df[['HP','Attack']]
    data.plot(kind='scatter',x='HP',y='Attack')
    plt.show()

    任务8:Pandas多表合并和聚合

  • 任务要点:merge、join

  • 步骤1:创建如下数据
  • 步骤2:Merge data1 and data2 Using Inner Join
  • 步骤3:Merge data1 and data2 Using Outer Join
  • 步骤4:Merge data1 and data2 Using Left Join
  • 步骤5:Merge data1 and data2 Using Right Join
  • 步骤6:Merge data1 ,data2 and data3 Using Outer Join
  • 步骤7:Merge data1 and data2 based on Index

data1 = pd.DataFrame({"ID":range(101, 106),

"x1":range(1, 6),

"x2":["a", "b", "c", "d", "e"],

"x3":range(16, 11, - 1)})

data2 = pd.DataFrame({"ID":range(104, 108),

"y1":["x", "y", "x", "y"],

"y2":range(8, 1, - 2)})

data3 = pd.DataFrame({"ID":range(102, 110),

"z1":range(10, 18),

"z2":["z", "b", "z", "z", "d", "z", "d", "a"],

"z3":range(18, 10, - 1)})

import pandas as pd
data1 = pd.DataFrame({"ID":range(101, 106), "x1":range(1, 6),"x2":["a", "b", "c", "d", "e"],"x3":range(16, 11, - 1)})data2 = pd.DataFrame({"ID":range(104, 108), "y1":["x", "y", "x", "y"],"y2":range(8, 1, - 2)})data3 = pd.DataFrame({"ID":range(102, 110), "z1":range(10, 18),"z2":["z", "b", "z", "z", "d", "z", "d", "a"],"z3":range(18, 10, - 1)})
print(data1)
print(data2)
print(data3)#inner内连接
data_inner=data1.merge(data2,how='inner')
#outter外连接
data_outter=data1.merge(data2,how='outer')
#left左连接
data_left=data1.merge(data2,how='left')
#right右连接
data_right=data1.merge(data2,how='right')data_mult=data1.merge([data2,data3],how='outer')data_merge=data1.merge(data2,on='ID')

任务9:Pandas透视表和交叉表操作

  • 步骤1:读取文件https://cdn.coggle.club/Pokemon.csv
  • 步骤2:统计Type 1和Type 2分组下HP,Attack,Defense的均值
  • 步骤3:统计Type 1为index,Type 2取值为不同列的情况下,Attack的均值
  • import pandas as pd
    file=pd.read_csv("E:\Pokemon.csv")
    file.groupby(['Type 1','Type 2'])['HP','Attack'].mean()
    file.pivot_table(index='Type 1',columns='Type 2',values='Attack',aggfunc='mean')

LML学习打卡(总)相关推荐

  1. 微信群,组队学习打卡

    组队学习打卡.一年时间太长,我怕不能每天坚持学习,希望可以和有梦想的你每天来组队打卡学习以此培养出来一个好习惯!!! 为了保证群的质量,有以下群规需要遵守: 为了防止偷偷潜水,每人进群前必须交5元违约 ...

  2. 寒假学习打卡第一篇文章-----numpy的学习

    寒假学习打卡-----numpy的学习(技术咨询vx:keyichen_free day01 1.数组的创建 # 再进行所有的操作之前,要先导入numpy import numpy as np # 创 ...

  3. 坚持学习打卡的人,将来会变成什么样?

    坚持打卡的人,将来会变成怎么样?让我们拭目以待.我组织了一个打卡活动,希望大家踊跃参加. 有一个励志故事: 在中国的最东边生长着一种竹子,名叫"毛竹".那里的农民到处播种,每天精心 ...

  4. numpy 转存为matlab_Numpy学习打卡task01

    今天带来的是Datawhale自主学习Numpy下学习打卡笔记第一部分-输入输出(为什么没有上,别问,问就是numpy.tan(90)).本文大致介绍了numpy的相关背景知识.本文素材来自网络及da ...

  5. 普中科技开发板使用说明书_百度大脑加持,米尔科技FZ3深度学习计算卡评测

    如果你要问我现在电子产业什么最热,那无疑是AI,而基于大数据训练的深度学习技术可以说是目前AI应用的最广,最成功的产品形态了,覆盖我们生活的方方面面,诸如购物.看病.新闻编辑等,在这高深技术的背后少不 ...

  6. zynq无法识别sd卡_百度米尔携手推出FZ3深度学习计算卡!

    前言:百度大脑是百度 AI 核心技术引擎,包括视觉.语音.自然语言处理.知识图谱.深度学习等AI核心技术和AI开放平台. 基于 Xilinx Zynq UltraScale+ MPSoC 的 Edge ...

  7. cad截图软件_AutoCAD电气制图协会线上CAD学习打卡活动结束

    为了给同学们营造一个良好的学习氛围,让同学们在轻松的氛围下完成自己的CAD学习计划,在6月10日,AutoCAD电气制图协会举办的为时7天的线上CAD学习打卡活动正式结束.此次线上CAD学习打卡活动由 ...

  8. Mathmatica的学习打卡day 16

    Mathmatica的学习打卡day 16 ----太原理工大学机器人团队 今天的学习内容为二维数据作图(学习来自哔哩哔哩) ListPlot函数 ListPlot函数是用来绘制散点图的,ListPl ...

  9. 基于Android的学生学习打卡监督系统

    文档+任务书+选题申请表+开题报告+开题答辩PPT+项目源码 毕 业 论 文 目 录 1.绪论 1 1.1课题开发背景 2 1.2课题开发目的及意义 3 2.系统分析 3 2.1研究目标 3 2.2需 ...

最新文章

  1. Java开源——常见J2EE框架简介
  2. Tricks(十七) —— 数组与字典(map)
  3. 语音识别的准确率,永远达不到100%?
  4. 解析恶意软件***技术特点
  5. windows基于vs2017的opencv安装
  6. 【狂神说Redis】3五大数据类型
  7. 诺基亚10.22变革影响的分析
  8. 从拉格朗日插值法到范德蒙行列式
  9. 一款免费好用的在线高效作图工具
  10. 写一本技术书到底有多赚?实话告诉你200万轻轻松松!
  11. python12306抢票_python编写抢票软件-12306抢票软件run下载python版-西西软件下载
  12. Vant Tab标签页+下拉刷新+上拉加载
  13. 双写、双写缓冲、双删、双活、双机热备
  14. echars 3D地图为区域自定义颜色
  15. JavaScript的执行过程(深入执行上下文、GO、AO、VO和VE等概念)
  16. java程序员更是_2019年 Java程序员面临更加激烈的竞争
  17. point-wise element-wise
  18. UE4 error C7525: 内联变量至少需要 “/std:c++17“
  19. 计算机网络局域网笔记,计算机网络笔记四 无线局域网
  20. 日本工程师耗时11年打造17吨重机械甲虫

热门文章

  1. NVMe End-to-End Protection Information
  2. ubuntu防火墙配置_如何配置Ubuntu的内置防火墙
  3. 车宇景--网络课程平台--存储过程
  4. python彩票分析_排列五4000万大奖得主透秘诀:技术分析是王道
  5. B站容量管理:游戏赛事等大型活动资源如何快速提升10+倍?
  6. CentOS7防火墙相关操作
  7. Linux中文件、文件夹的创建、移动、删除、压缩及解压
  8. python suds_python使用suds调用webservice接口的方法
  9. CentOS7 通过yum安装dnf失败,提示No package dnf available的解决办法
  10. 数模电路基础知识 —— 6. 常见电路符号说明(晶闸管)