泰坦尼克号-数据加载及探索性数据分析
数据加载与探索性分析
本部分内容主要分为三个部分:首先是数据加载操作的实现;其次是Pandas库的基础知识;最后是进行探索性数据分析的技术方法。
1.导入numpy、pandas及查看python版本
import pandas as pd
import numpy as np
pd.__version__
2.通过绝对路径写入-读取CSV格式
df = pd.read_csv('data/table.csv')
df.head()

3.逐块读取
chunker = pd.read_csv('C:/Users/Lenovo/Desktop/titanic.csv', chunksize=1000)
通过pandas进行文件操作时会遇到大数据量的问题这时候就需要采用逐块读取的方式来提升效率
df.info()
5.观察表格前10行的数据
df.head(10)
6.观察表格后10行的数据
df.tail(10)
7.判断数据是否为空,为空的地方返回True,其余地方返回False
df.isnull().head()

8.保存数据
df.to_csv('C:/Users/Lenovo/Desktop/titanic_new.csv')
9.查看DataFrame数据的每列的项
df.columns

10.查看"cabin"这列的所有项
df['Cabin'].head(5)
11.我们以"Age"为筛选条件,显示年龄在10岁以下的乘客信息。
df[df["Age"]<10].head(5)

以Age为条件筛选出10岁至50岁之间的乘客信息,并将其命名为midage
midage = df[(df["Age"]>10)& (df["Age"]<50)]
midage.head(5)

13.将midage的数据中第100行的"Pclass"和"Sex"的数据显示出来
midage = midage.reset_index(drop=True)
midage.head(5)

reset_index()函数其功能是重置索引,在此过程中默认参数设置为False若需删除原有的索引列则需将其设置为True.若要在原始数据上进行修改则必须带有inplace=True参数.值得注意的是如果不进行赋值操作则该指令将失去作用
为了获取midage数据集中第100、105及108号行中"Pclass"、"Name"以及"Sex"字段的数据建议采用loc方法
midage.loc[[100,105,108],['Pclass','Name','Sex']]
由于间距的延长而产生出表格的形式
- 使用 iloc 方法提取 midage 数据中第 100、105 和 108 行中 'Pclass'、'Name' 和 'Sex' 的字段数据
midage.iloc[[100,105,108],[2,3,4]]

16.利用Pandas对示例数据进行排序,要求升序
frame = pd.DataFrame(np.arange(8).reshape((2, 4)),
index=['2', '1'],
columns=['d', 'a', 'b', 'c'])
frame
pd.DataFrame() 用于生成 DataFrame 对象
使用 np.arange(8) 生成数组并将其重塑为二维(2x4)结构
指定索引列表为 ['2', '1']
定义列标签为 ['d', 'a', 'b', 'c']
通过 pandas 进行数据运算,在两个 DataFrame 中执行加法操作以获得结果
frame1_a = pd.DataFrame(np.arange(9.).reshape(3, 3),
columns=['a', 'b', 'c'],
index=['one', 'two', 'three'])
frame1_b = pd.DataFrame(np.arange(12.).reshape(4, 3),
columns=['a', 'e', 'c'],
index=['first', 'one', 'two', 'second'])
frame1_a

18.学会使用Pandas describe()函数查看数据基本统计信息
frame2 = pd.DataFrame([[1.4, np.nan],
[7.1, -4.5],
[np.nan, np.nan],
[0.75, -1.3]
], index=['a', 'b', 'c', 'd'], columns=['one', 'two'])
frame2
