2.4 数据合并
2.4.1载入数据
- text_left_up=pd.read_csv('./titanic/data/train-left-up.csv')
text_left_down=pd.read_csv('./titanic/data/train-left-down.csv')
text_right_up=pd.read_csv('./titanic/data/train-right-up.csv')
text_right_down=pd.read_csv('./titanic/data/train-right-down.csv')
发现:四个数据都是train.csv的一部分合并起来将会是一个完整的train.csv
2.4.2合并数据
concat不仅可以指定连接的方式(outer join或inner join)还可以指定按照某个轴进行连接。
join:合并的时候索引的对齐方式,默认是outer join,也可以是inner join
ignore_index:是否忽略掉原来的数据索引
2.4.3合并result_down \ result
- list_2 = [text_left_down, text_right_down]
result_down = pd.concat(list_2, axis=1, join='outer', ignore_index=False)
result_down - list_3 = [result_up, result_down]
result = pd.concat(list_3, axis=0, join='outer', ignore_index=False)
result
2.4.4 任务四:使用DataFrame自带的方法join方法和append - append是默认(axis = 0)
- result_up = text_left_up.join(text_right_up)
result_up - result_down = text_left_down.join(text_right_down)
result_down - result = result_up.append(result_down)
result
2.4.5 任务五:使用Panads的merge方法和DataFrame的append - result = df1.append(df2)
- merge用于表内部基于 index-on-index 和 index-on-column(s) 的合并,但默认是基于index来合并。
- result_up = pd.merge ( text_left_up,text_right_up, left_index=True, right_index=True)
result_up
参考:https://blog.csdn.net/stevenkwong/article/details/52540605
参考:https://zhuanlan.zhihu.com/p/45442554
2.5 换一种角度
2.5.1 任务一:将我们的数据变为Series类型的数据
- stack()即“堆叠”,作用是将列旋转到行
数据运用
2.6.1 任务一:groupby
Groupby的作用是进行数据的分组以及分组后地组内运算
https://www.cnblogs.com/Yanjy-OnlyOne/p/11217802.html
https://www.jianshu.com/p/42f1d2909bb6
2.6.2 任务二:计算泰坦尼克号男性与女性的平均票价
mean()为平均值
sum()为总和
groupby('分的组类')['被分的数'].mean()
2.6.3 任务三:统计泰坦尼克号中男女的存活人数
- text.groupby('Sex')['Survived'].sum()
2.6.4 任务四:计算客舱不同等级的存活人数
- text.groupby('Pclass')['Survived'].sum()
agg更加简洁, 而且传给它的函数可以是字符串,也可以自定义,参数是column对应的子DataFrame
参考:https://zhuanlan.zhihu.com/p/109820274)
2.6.5 任务五:统计在不同等级的票中的不同年龄的船票花费的平均值
- text.groupby(['Pclass','Age'])['Fare'].mean()
2.6.6:任务六:将任务二和任务三的数据合并,并保存到sex_fare_survived.csv
pd.merge 形成了一个新的dataframe
2.6.7:任务七:得出不同年龄的总的存活人数,然后找出存活人数的最高的年龄,最后计算存活人数最高的存活率(存活人数/总人数)
- Python中的str可以表示字符串类,也可以是将变量强制转换为字符串的函数,写作str()
-
precetn = Survived_sum.max()/Sum_survived
print("最大存活率:"+str(precetn))