使用pandas分析数据
1 数据载入与初步观测
数据集下载 链接: https://www.kaggle.com/c/titanic/overview
1.1 导入numpy和pandas库
import numpy as np
import pandas as pd
//在此使用编译环境是jupyter
点击upload,即可加载本地数据集
1.2 `使用pandas加载数据集 train.csv
//使用相对路径
df = pd.read_csv('train.csv')
//使用绝对路径
import os
path = os.path.abspath('train.csv')
df = pd.read_csv(path)
df
1.3 以制表符为分隔符
1.4以块读取数据
1.5 更改列名
方式一
方式二
1.6 查看数据数量、平均值、标准差等
count
:数据个数,以上数据总体为891个,但年龄只有714个,说明在年龄上有空值。
mean
:平均值
std
:偏标准差
25%
:前25%数据情况
max
:最大值
1.7 查看数据
尾部数据
头部数据
数据是否为空
1.8 保存数据
2 pandas基础
2.1 Series数据创建
数据字典方式
2.2 DataFrame数据创建
2.3 查看数据集Cabin列
方式1
方式二
2.4 删除数据
//test_1数据集比train.csv数据集多一列 a
test_1 = pd.read_csv('test_1.csv')
删除a列方式1
删除a列方式2
删除多列
//以下删除多列,与本身数据集没有关系,变成新的数据集test_2
//以下删除多列,改变本身数据集test_1
2.5 筛选数据
//年龄小于10
test_1[test_1['Age'] < 10]
//年龄大于10小于50
midage = test_1[(test_1['Age'] > 10) & (test_1['Age'] < 50)]
//重新设置索引,由于筛选数据使索引的顺序改变
m1 = midage.reset_index() //将未筛选之前的数据索引列添加到原有数据
m2 = midage.reset_index(drop = True)//不会显示未筛选之前的数据索引列
//根据loc查找数据 [100]代表索引行,['Pclass','Sex']代表索引列
m2.loc[[100],['Pclass','Sex']]
m2.loc[[100,105,108],['Pclass','Name','Sex']]
//使用iloc查看数据[2,3,4]代表索引列的数值从0开始
m2.iloc[[100,105,108],[2,3,4]]
探索性数据分析
#创建DataFrame数据,3行4列
frame = pd.DataFrame(np.random.randn(3,4),
index=['2','1','3'],
columns=['d','a','b','c'])
#按某一列进行升序排序
frame.sort_values('c')
#行索引升序
frame.sort_index()
#列索引升序序
frame,sort_index(axis = 1)
#列索引降序排序
frame.sort_index(axis=1,ascending=False)
#a,c列降序排序
frame.sort_values(['a','c'],ascending = False)
DataFrame相加
fra1 = pd.DataFrame(np.arange(9.).reshape(3,3),
columns=['a','b','c'],
index=['1','2','3'])
fra2 = pd.DataFrame(np.arange(12.).reshape(4,3),
columns=['a','e','c'],
index=['4','1','2','6'])
fra1+fra2