数据分析学习笔记(一)

该文介绍了使用numpy和pandas进行数据分析的基础操作,包括读取数据的注意事项,如使用r前缀处理Windows路径,以及逐块读取大文件以避免内存问题。文中还详细讲解了Series和DataFrame的区别,数据筛选与排序方法,并强调理解数据间关系在数据分析中的重要性。
摘要由CSDN通过智能技术生成

数分第一章

关于课程

一个数据分析的课程,主要工具是numpy和pandas,运用这两个包分析数据,最后会通过kaggle上的一个小任务实践一遍学到的技能。

学习过程中的一些疑惑与问题

  • 读数据:
    使用绝对路径读数据的时候有可能会出问题,如:
    在这里插入图片描述
    ’\‘ 在windows系统当中读取文件路径可以使用,但是在python字符串中\有转义的含义,所以这里应该改动为:
    在这里插入图片描述在路径前加r,即保持字符原始值的意思。
  • 逐块打印
    它的本质就是将文本分成若干块,每次处理 chunksize 行的数据,最终返回一个TextParser 对象,对该对象进行迭代遍历,可以完成逐块统计的合并处理。其目的主要是当需要读取的数据较大时,防止内存不够无法读取。
    其返回一个可迭代对象TextFileReader。
  • 查看结尾数据的函数为:
df.tail()
  • 查看数据是否为空的函数为:
df.isnull()
  • Series和Dataframe的区别:
    网上说Series是一个类似一维数组的东西,但私以为更像是个字典,因为数组只能用数字下表索引,但Series可以以字符为下标索引。
    在这里插入图片描述
    所以这个还是蛮简单的一个数据结构

DataFrame则相对来说复杂一点,是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame既有行索引也有列索引。上文我们曾以dataframe的数据形式读入过文件,如下:
在这里插入图片描述

  • 查看dataframe列名称的代码:
df.columns
  • 查看某一列的元素:
df['列名'] 如:df['Cabin']
也可:df.列名 如:df.Cabin
  • 隐藏某几列元素,仅查看剩余列:
df.drop(['列名1','列名2'],axis=1)
#这里使用的drop函数如果改为df.drop(['列名1','列名2'],axis=1,inplace=True)就变成了删除这几列
#了,也就是说inplace默认为false,表示不写回原数据
  • 数据筛选:
#只需要写好表达式,如下:
df[df["Age"]<10]						#年龄小于10
df[(df["Age"]>10)& (df["Age"]<50)]		#年龄大于10小于50
  • 对数据排序:
#主要通过df.sort_values()函数
df.sort_values(by='票价')                   #按票价排序,默认升序
df.sort_values(by='票价',ascending = False) #ascending参数控制升降序,false是降序
#而在我们数据分析的过程中,我们常常需要观察多个因素之间相互作用的关系,如当下的数据:
df.sort_values(by=['票价', '年龄'], ascending=False) #这样即可看出票价与年龄之间一定的关系
text.sort_values(by=['票价', '年龄'], ascending=[False,True]) #若想看两列之间的关系,但一个升序一个降序,可以通过这样写来实现

“当你发现数据之间的关系了,数据分析就开始了”

数据分析或许不仅仅是工具的使用,在进行数据分析的时候我们可能需要更专注于数据之间的关系,不能本末倒置,时刻牢记代码是工具,数据内所蕴含的关系才是我们真正在意的。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值