2021-07-03

动手学数据分析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

  1. ndarray
    Numpy库中的矩阵模块,可以创建n维的数组对象,所有元素必须是相同的类型,比如你的元素是字符,那就全部都是字符。
  2. Series
    类似于1维数组,由索引+数值组成
    pd.Series(
    data=None,
    index=None,
    dtype=None,
    name=None,
    copy=False,
    fastpath=False,
    )
  3. 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
statapopyear
0Ohio20001.5
1Ohio20011.7
2Ohio20023.6
3Nevada20012.4
4Nevada20022.9
5Nevada20033.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的内置帮助文档,随时查看不明白的函数,自主阅读辅助学习,效果很不错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值