泰坦尼克号乘客数据:https://www.kaggle.com/c/titanic/overview
Datawhale开源课程:https://github.com/datawhalechina/hands-on-data-analysis
1.1. 导入库
import numpy as np
import pandas as pd
1.2. pd.read_csv和pd.read_table读取
# pd.read_csv()
data = pd.read_csv('train.csv')
data0 = pd.read_csv('E:/MyPython/train.csv')
# pd.read_table()读取
data1 = pd.read_table('train.cav',sep = ',') # read_table默认分隔符是‘\t’
1.3. chunk分块读取
chunker = pd.read_csv('train.csv', chunksize=1000)
#读取方式一
chunker.get_chunk()
#读取方式二
for chunk in chunker:
print(chunk)
1.4. 修改数据表头
# 将表头改成中文,索引改为乘客ID
data = pd.read_csv('train.csv',
names=['乘客ID','是否幸存','仓位等级','姓名','性别','年龄',
'兄弟姐妹个数','父母子女个数','船票信息','票价','客舱','登船港口'],
index_col='乘客ID')
data.head()
1.5. 读取数据基本信息及判断是否为空
# 读取基本信息
data.info()
# 观察表格前十行
data.head(10) # data.head()默认为前5
# 观察表格后15行
data.tail(15)
# 判断数据是否为空
data.isnull()
1.6. 保存数据
data.to_csv('trainchinese.csv')
2.1. 查看数据具体信息
# 查看列名
data.columns
# 查看Cabin所有值
data['Cabin'].head()
# 或者 data.Cabin.head()
2.2. 删除指定的列
# 方法一
del data['a']
#方法二
data.drop(['a'], axis=1, inplace=True)
# inplace=True, 直接从内部删除
# 若只想隐藏指定的列
data.drop(['a'],axis=1)
2.3. 选择指定的列并查看
# 筛选年龄小于10岁
data[data["Age"]<10]
# 筛选Fare大于7小于70
data[(data["Fare"]>10) & (df["Fare"]<50)]
# 筛选Fare小于7大于70
data[(data["Fare"]>10) | (df["Fare"]<50)]
# 使用loc、iloc、reset_index()选择指定列
# reset_index()
midage0 = data.reset_index(drop=True)
# loc
midage1 = data.loc[[100],['Pclass','Sex','Name']]
# iloc
midage2 = data.iloc[[100],[2,3,4]]
3.1. 对数据进行排序
'''导入数据为trainchinese.csv'''
# 根据票价和年龄两列进行排序
data0 = data.sort_values(by=['票价', '年龄'], ascending=False)
data0.head()
'''
# 行索引升序
data.sort_index()
# 列索引升序
data.sort_index(axis = 1)
# 列索引降序
data.sort_index(axis = 1,ascending = False)
'''
3.2. Pandas计算
# 计算船上各个家族
data1 = data['兄弟姐妹个数'] + data['父母子女个数']
max(data1) # 最大值
min(data1) # 最小值
mean(data1) # 平均数
medain(data1) # 中位数
3.3. Pandas describe()函数查看数据
data.descirbe()
# 指定列:“仓位等级”
data['仓位等级'].describe()