动手学数据分析Task01
——DataWhale暑期组队学习
文章目录
首先导入numpy和pandas,代码如下:
import pandas as pd
import numpy as np`
1. 相对路径 v.s. 绝对路径
绝对路径 :指文件在硬盘上真正存在的路径
- 绝对路径可以使用“\”或“/”字符作为目录的分隔字符。
data = pd.read_csv('C:\\Users\\Acer\\Desktop\\python\\hands-on-data-analysis-master\\第一单元项目集合\\train.csv')
相对路径:当前工作目录下的路径
- 相对路径使用“/”字符作为目录的分隔字符,而绝对路径可以使用“\”或“/”字符作为目录的分隔字符。
- 如果相对路径报错可以尝试使用os.getcwd()查看当前工作目录
data = pd.read_csv('train.csv')
#import os
#os.getcwd() #查看当前工作目录
2. read_csv() v.s. read_table()
read_csv() 从文件、URL、文件型对象中加载带分隔符的数据。
- 默认分隔符为逗号。
- 取出的数据为二维数组,多行一列
read_table() 从文件、URL、文件型对象中加载带分隔符的数据。
- 默认分隔符为制表符’\t’。
- 取出的数据为二维数组,多行多列
如果想让他们效果一样,需要手动设置分隔符,sep = ‘,’ / sep = ‘\t’
3. 更改表头
data = pd.read_csv('train.csv', names = ['乘客ID','是否幸存','乘客等级(1/2/3等舱位)',
'乘客姓名','性别','年龄',' 堂兄弟/妹个数',
'父母与小孩个数','船票信息','票价','客舱','登船港口'],
index_col = '乘客ID', header = 0)
#更改表头时,需要令header=0
data.head() #显示前五行
4. 查看数据的基本信息
导入数据后,你可能要对数据的整体结构和样例进行概览,比如说,数据大小、有多少列,各列都是什么格式的,是否包含null等
print(data.shape) #查看维度
print(data.dtypes) #查看每一列的数据类型
print(data.info()) #查看数据表基本信息
print(data.isnull()) #查看是否有空值 df['列名'].isnull() 判断某一列是否为空
print(data.values) #查看数据表的值
print(data.index) #查看索引
print(data.columns) #查看列名
data.head(10) #查看前十行
data.tail(15) #查看后15行
5. Series v.s. DataFrame
- ndarray
Numpy库中的矩阵模块,可以创建n维的数组对象,所有元素必须是相同的类型,比如你的元素是字符,那就全部都是字符。 - Series
类似于1维数组,由索引+数值组成
pd.Series(
data=None,
index=None,
dtype=None,
name=None,
copy=False,
fastpath=False,
) - DateFrame
表格型数据结构,每一列可以是不同的数值类型,有行索引、列索引
pd.DataFrame(
data=None,
index: ‘Optional[Axes]’ = None,
columns: ‘Optional[Axes]’ = None,
dtype: ‘Optional[Dtype]’ = None,
copy: ‘bool’ = False,
)
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)
example_2
stata | pop | year | |
---|---|---|---|
0 | Ohio | 2000 | 1.5 |
1 | Ohio | 2001 | 1.7 |
2 | Ohio | 2002 | 3.6 |
3 | Nevada | 2001 | 2.4 |
4 | Nevada | 2002 | 2.9 |
5 | Nevada | 2003 | 3.2 |
6. 删除DataFrame数据列
方法一:用del直接删除
del data.['stata']
方法二:drop()
删除特定的行和列
参数设置如下:
data1.drop(
labels=None, #
axis=0, #默认为0,代表index;1代表columns
index=None, #指定列
columns=None, #指定行
level=None,
inplace=False, #默认False,不更改原数据,可用于显示特定列
#True 表示将原数据覆盖
errors='raise',
)
删除data中的第二列
data.drop(columns=['pop'],axis=1)
7. iloc v.s. loc
loc[[index,], [column,]] 按标签取数据
loc: 根据索引和列名取数据
iloc: 根据数据表的行号,列号取数据,行列号只能是整数
8. 两种排序:sort_values v.s. sort_index
- 两者参数基本相同,都需要由axis=0/1和ascending=True/False分别决定按行列排序和按升降序排序。
- 最主要的不同在于sort_index按照index的值进行排序,而sort_values 包含参数by用于选取某一列或者某一行的值排序
9. describe()函数查看数据基本统计信息
如果DataFrame中的对象均为数字类型,那么返回结果包含如下几项:
'''
count : 样本数据大小
mean : 样本数据的平均值
std : 样本数据的标准差
min : 样本数据的最小值
25% : 样本数据25%的时候的值
50% : 样本数据50%的时候的值
75% : 样本数据75%的时候的值
max : 样本数据的最大值
'''
总结
学会使用python的内置帮助文档,随时查看不明白的函数,自主阅读辅助学习,效果很不错。