动手学数据分析-Task01-数据加载及探索性数据分析

动手学数据分析-Task01-数据加载及探索性数据分析

踩坑记录1:
在使用jupyter notebook 切换不同虚拟环境的时候,一定要在该虚拟环境下安装ipykernel。

python -m pip install ipykernel

踩坑记录2:
在使用pd.read_csv用绝对路径读取文件时,在windows环境中不同文件夹用
\\ 隔开,如果文件名中含有s,可能会和前面的\\组合成\s转义,可在整体路径前加入r即可

data = pd.read_csv("D:\\File\\jupyter-notebook\\hands-on-data-analysis-master\\第一单元项目集合\\train.csv")

如果文件名中含有s,可能会和前面的\\组合成\s转义,可在整体路径前加入r即可

data = pd.read_csv(r"D:\\File\\jupyter-notebook\\hands-on-data-analysis-master\\第一单元项目集合\\train.csv")

1.1数据载入及初步观察


1.1数据载入

在这里插入图片描述
这些函数都会把文本数据转换为DataFrame结构。
如果数据量太大,内存无法一次读入时,可以设置chunksize参数大小,逐块读取。

import pandas as pd
data = pd.read_csv(path, chunksize=1000,,iterator=True)
count = 0
for chunk in data:
	 count += 1
    if count ==1:
        chunk.to_csv('test1.csv',index = False)
    elif count>1 and count<1000:
        chunk.to_csv('test1.csv',index = False, mode = 'a',header = False)
    else:
        break
pd.read_csv('test1.csv')

修改表头时,可以直接在读取的时候在name参数里更改

df = pd.read_csv('train.csv', names=['乘客ID','是否幸存','仓位等级','姓名','性别','年龄','兄弟姐妹个数','父母子女个数','船票信息','票价','客舱','登船港口'],index_col='乘客ID',header=0)

index_col表示索引

1.2 初步观察(数据类型都为DataFrame)

查看数据的基本信息

data.info()

查看前十行或后十行

data.head(10)
data.tail(10)

判断数据是否为空,空为True,否则为False

data.isnull()

查看个数

data.count()

1.1.3 保存数据

data.to_csv('test1.csv',encoding='utf-8')

2.pandas基础


2.1 两种数据结构

Series

由一组数据以及与之相关的索引组成的类似一维数组的结构。类似与python中的字典

sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000}
example_1 = pd.Series(sdata)

DataFrame

dataframe是一种表格型的数据结构,它包含一组有序的列,每一列之间的数据类型可以不同

data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'],
        'year': [2000, 2001, 2002, 2001, 2002, 2003],
        'pop': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}
example_2 = pd.DataFrame(data)

基本操作

查看dataframe数据的每列的名称

df.columns

查看某一列的值

#方法一
df.state
#方法二
df['state']

删除多余的列

del df['state']

axis表示轴,axis=0表示行索引,竖着看,axis=1表示列索引,横着看
隐藏某几列元素,只看其中几列

df.drop(['PassengerId','Name','Age','Ticket'],axis=1)

使用inplace=True,可以覆盖原数据

数据清洗时,会将带空值的行删除,此时DataFrame或Series类型的数据不再是连续的索引,可以使用reset_index()重置索引。
不想保留原来的index,使用参数 drop=True

midage = midage.reset_index(drop=True)

显示某几行,某几列的数据

midage.loc[[100,105,108],['Pclass','Name','Sex']] 

也可以使用iloc方法,那么列索引就要变为其下标

midage.iloc[[100,105,108],[2,3,4]]

3 探索性数据分析


根据某一列的值对所有数据进行排序,ascending=True表示升序

frame.sort_values(by='c', ascending=True)

让行索引升序排序

frame.sort_index()

让列索引升序排序

frame.sort_index(axis=1)

查看数据的基本情况

frame2.describe()

'''
count : 样本数据大小
mean : 样本数据的平均值
std : 样本数据的标准差
min : 样本数据的最小值
25% : 样本数据25%的时候的值
50% : 样本数据50%的时候的值
75% : 样本数据75%的时候的值
max : 样本数据的最大值
'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值