本次学习内容主要涉及利用一些方法如concat方法进行数据合并以及利用groupby进行分组统计,关于concat等合并方法在《利用Python进行数据分析(第二版)》中已做详细说明,其中的学习注释便不再搬运到此处,至于groupby函数的基本使用,与SQL语句中的groupby类似,不再赘述。本次博文仅贴写一些代码。
## 导入基本库
import pandas as pd
import numpy as np
## 数据加载
text = pd.read_csv("data/train-left-up.csv")
text_left_up = pd.read_csv("data/train-left-up.csv")
text_left_down = pd.read_csv("data/train-left-down.csv")
text_right_up = pd.read_csv("data/train-right-up.csv")
text_right_down = pd.read_csv("data/train-right-down.csv")
## 查看数据基本信息,以text_left_up数据为例
text_left_up.head()
text_left_up.info()
text_left_up.describe()
## 利用concat方法合并数据
list_up = [text_left_up,text_right_up]
result_up = pd.concat(list_up,axis=1)
#result_up.head()
list_down=[text_left_down,text_right_down]
result_down = pd.concat(list_down,axis=1)
result = pd.concat([result_up,result_down])
#result.head()
## 利用join方法和append方法合并
resul_up = text_left_up.join(text_right_up)
result_down = text_left_down.join(text_right_down)
result = result_up.append(result_down)
#result.head()
## 将数据转化为Series类型的数据
## stack:将数据的列“旋转”为行。
unit_result=text.stack().head(20)
#unit_result.head()
## 学习groupby机制
## 计算泰坦尼克号男性与女性的平均票价
df = text['Fare'].groupby(text['Sex'])
means = df.mean()
#means
## 统计泰坦尼克号中男女的存活人数
survived_sex = text['Survived'].groupby(text['Sex']).sum()
#survived_sex.head()
## 计算客舱不同等级的存活人数
survived_pclass = text['Survived'].groupby(text['Pclass'])
survived_pclass.sum()