动手学数据分析 之第一章 数据载入与初步观察

由于工作的缘故,导入包是再常用不过的技能,哈哈

import os
os.getcwd()#获取当前位置的路径
os.chdir(r'D\E\ER') #切换到目的文件夹

确定好文件当前所在的位置之后,可以将位置转移到我们相导入数据的文件夹下,顺便展示一下相对位置和绝对位置导入数据的代码,无缝衔接;

这里,我先用read_csv看了以下表结构。果然是文件的后缀是啥,你就应该用啥长得像的方法。等一下我会试一下read_table这种方法,接着我就会开始叙说我的辛酸泪。搞不清参数的具体含义,你就会一直错下去,而不自知,说得就是我本人。

嗯,我开始跟read_table斗智斗勇了,原来sep一直代表得是分隔符,人家得英文名叫做sepration,我这个绝顶的人才把它写成了seq,对我以为是sequence。然后sep=‘\t’,嗯,我知道这个是制表符,我知道换行符。但是我竟把这个理所当然的看成分隔行的了,我还很虔诚地去百度——为什么read_table读csv文件读成一列,它告诉我是因为编码问题。然后我就斗智斗勇地和编码搞了半个小时,当然我是输了,毕竟读成一列的根本原因不是需要把编码utf-8改成ANSI,而是sep=','就完美了。后因前果展示出来,我也可以睡觉了。

接下来的任务是每一千行为一个数据模块,按块读取。我以为读出来的是个数据框,事实证明我是太年轻了,当然这个是假的。我试图去看这个按块读取出来的东西到底是不是一千行,报错会证明我的天真。

改表头名字我以为我很娴熟,然后发现竟然有一步到位的方法,就是直接用read_csv中的参数names,index_col=某一列,可以帮忙将这一列设置为索引列。

看起来虽然不好看,但是毕竟成功了。

走到看表结构信息的路上了,这个是我最喜欢做的事情了。嗯,数据分析路上,我们还是并行着的,我之前用的最多的是df.describe(),查看数值型变量的描述性统计分析。这里,代码应该是test_data.info(),我错把info当成数据框的一个属性了,其实应该是它的一个方法,罪过。

看前十行,看后十五行,我开始胡言乱语了,虽然我说的是对的。其实一般最常用的是df.head()查看数据框的前五列,df.tail()目前想到的是可以看数据框有多少行,但是如果目的只是要看数据框的行数,其实我们有最最简单的方法就是df.shape.

看各个值是否是缺失的,嗯,这个倒是很少用到。

最后一步是把变更处理过的数据表导出到本地,我大功告成了。

第一次写这么长的文章,我还要忙着洗漱,今天是没按点睡觉的一天。

第二天发现我这第一章任务只完成了一半,而且仅仅完成了数据载入的一部分,两眼一睁,我又来继续我的初步观察数据了。鉴于我这边没有现成的Tatanic的数据,就勉强拿了临时数据集来完成任务,毕竟我晚上还要完成第二章的任务,这个方法真是目前我能想到的最优解。

絮絮叨叨,嗯,pandas有两种数据类型,数据框DataFrame和序列Series.

import numpy as np
import pandas as pd 

dict = {'A':[1, 2, 3, 4],'B':[2, 2, 3, 4]}

df = pd.DataFrame(dict)
series = pd.Series(dict)

print(type(df),type(series))

我举了一个把字典分别转换成DataFrame和Series的例子,我们来看一下结果:(摊手,只能我自己看了,由于一些限制)

补上了。看列名  df.columns

df.columns

看某列的项 df['A'].head()  或者 df.A.head()

df['A'].head(2)

df.A.head(2)

删除某列用del ,del df['A']

del df['A']

暂时隐藏某列 df.drop(['A']).head(),增加参数inplace=True即为删除某列,相当于将原数据给覆盖掉。

#暂时隐藏某列
df.drop(['A'],axis=1)
#删除某列
df.drop(['A'],inplace=True,axis=1)

噢 不小心发现我好像昨天确实把第一章第一小节给做完了,而且我今天在这个页面补的内容大部分是第二小节的。所以,就这样吧,第二篇文章少写点儿内容。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值