2.4 數(shù)據(jù)合并
2.4.1載入數(shù)據(jù)
- 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')
發(fā)現(xiàn):四個(gè)數(shù)據(jù)都是train.csv的一部分合并起來(lái)將會(huì)是一個(gè)完整的train.csv
2.4.2合并數(shù)據(jù)
concat不僅可以指定連接的方式(outer join或inner join)還可以指定按照某個(gè)軸進(jìn)行連接混卵。
join:合并的時(shí)候索引的對(duì)齊方式,默認(rèn)是outer join,也可以是inner join
ignore_index:是否忽略掉原來(lái)的數(shù)據(jù)索引
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 任務(wù)四:使用DataFrame自帶的方法join方法和append - append是默認(rèn)(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 任務(wù)五:使用Panads的merge方法和DataFrame的append - result = df1.append(df2)
- merge用于表內(nèi)部基于 index-on-index 和 index-on-column(s) 的合并,但默認(rèn)是基于index來(lái)合并责循。
- 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 任務(wù)一:將我們的數(shù)據(jù)變?yōu)镾eries類(lèi)型的數(shù)據(jù)
- stack()即“堆疊”速挑,作用是將列旋轉(zhuǎn)到行
數(shù)據(jù)運(yùn)用
2.6.1 任務(wù)一:groupby
Groupby的作用是進(jìn)行數(shù)據(jù)的分組以及分組后地組內(nèi)運(yùn)算
https://www.cnblogs.com/Yanjy-OnlyOne/p/11217802.html
http://www.reibang.com/p/42f1d2909bb6
2.6.2 任務(wù)二:計(jì)算泰坦尼克號(hào)男性與女性的平均票價(jià)
mean()為平均值
sum()為總和
groupby('分的組類(lèi)')['被分的數(shù)'].mean()
2.6.3 任務(wù)三:統(tǒng)計(jì)泰坦尼克號(hào)中男女的存活人數(shù)
- text.groupby('Sex')['Survived'].sum()
2.6.4 任務(wù)四:計(jì)算客艙不同等級(jí)的存活人數(shù)
- text.groupby('Pclass')['Survived'].sum()
agg更加簡(jiǎn)潔, 而且傳給它的函數(shù)可以是字符串,也可以自定義壶谒,參數(shù)是column對(duì)應(yīng)的子DataFrame
參考:https://zhuanlan.zhihu.com/p/109820274)
2.6.5 任務(wù)五:統(tǒng)計(jì)在不同等級(jí)的票中的不同年齡的船票花費(fèi)的平均值
- text.groupby(['Pclass','Age'])['Fare'].mean()
2.6.6:任務(wù)六:將任務(wù)二和任務(wù)三的數(shù)據(jù)合并,并保存到sex_fare_survived.csv
pd.merge 形成了一個(gè)新的dataframe
2.6.7:任務(wù)七:得出不同年齡的總的存活人數(shù)决乎,然后找出存活人數(shù)的最高的年齡队询,最后計(jì)算存活人數(shù)最高的存活率(存活人數(shù)/總?cè)藬?shù))
- Python中的str可以表示字符串類(lèi)派桩,也可以是將變量強(qiáng)制轉(zhuǎn)換為字符串的函數(shù)构诚,寫(xiě)作str()
-
precetn = Survived_sum.max()/Sum_survived
print("最大存活率:"+str(precetn))