concat方法可以在兩個維度上拼接,預設縱向憑藉(axis=0),拼接方式缺省外連線
pd.
concat
(objs, axis=
0, join=
'outer'
, join_axes=none, ignore_index=false,
keys=none, levels=none, names=none,
verify_integrity=false, copy=true)
###objs 需要連線的物件,eg [df1, df2]
axis axis =0,
表示在水平方向
(row)進行連線 axis =1,
表示在垂直方向
(column)進行連線
join outer, 表示index全部需要; inner,表示只取index重合的部分。**注意concat沒有左連線或右連線。**
join_axes 傳入需要保留的index
ignore_index 忽略需要連線的frame本身的index。當原本的index沒有特別意義的時候可以使用
keys 可以給每個需要連線的df乙個label
###
merge函式的作用是將兩個pandas物件橫向合併,遇到重複的索引項時會使用笛卡爾積,預設inner連線,可選left、outer、right連線。
pandas.
merge
(left, right,
how=
'inner'
, on=none,
left_on=none, right_on=none,
left_index=false, right_index=false,
sort=false, suffixes=
('_x'
,'_y'),
copy=true, indicator=false,
validate=none)
###left : dataframe
right : dataframe or named series
how :
,default 『inner』(設定資料連線的集合操作規則)
left: 返回的結果只包含左列
right: 返回的結果只包含右列
inner: 交集
outer: 並集
on :label or list(此引數只有在兩個dataframe有共同列名的時候才可以使用)
left_on與right_on: label or list, or array-like(合併兩個列名不同的資料集)
left_index與right_index : bool,
default false(合併索引)
suffixes : tuple of
(str, str)
,default
('_x'
,'_y'
)(為重複列名自定義字尾)
###
join函式作用是將多個pandas物件橫向拼接,遇到重複的索引項時會使用笛卡爾積,預設左連線,可選inner、outer、right連線.它的效果與merge類似,但對於many_to_one模式下的合併,往往join更為方便。例:
left = pd.
dataframe()
right = pd.
dataframe(,
index=
['k0'
,'k1'])
left.
join
(right, on=
'key'
)####
result:
ab key cd0
a0b0
k0c0d01
a1b1
k1c1d12
a2b2
k0c0d03
a3b3
k1c1
d1###
首先按年齡對資料進行分類,然後統計不同年齡段的存活率。(改編自任務7)
注意bins的分類為左開右閉,比如年齡為5的小朋友將被分到0~5的組。因此,對於以下分組方法,如果有年齡為0的小朋友,則他將不會被分到任何組,顯示為nan。
bins=[0
,5,15
,30,50
,train[
'age'].
max()]
train[
'age_group'
]=pd.
cut(train[
'age'
],bins=bins,labels=
['0~5'
,'5~15'
,'15~30'
,'30~50'
,'50~80'])
print
(train[
'survived'].
groupby
(train[
'age_group'])
.sum()
/train[
'survived'].
groupby
(train[
'age_group'])
.count()
)####
result:
age_group0~
50.6976745~
150.46153815~
300.35889630~
500.42323750~
800.343750
name: survived, dtype: float64
####
從以上結果可以看出,隨著年齡的增大,存活率基本呈現下降的趨勢。 動手學資料分析 task3 資料重構
一 資料合併 1 使用pd.concat objs,axis 0,join outer list up text left up,text right up result up pd.concat list up,axis 1 result up.head resul up text left up...
動手學深度學習Task3
過擬合 欠擬合及其解決方案 梯度消失 梯度 迴圈神經網路高階 1 過擬合和欠擬合 過擬合 模型的訓練誤差遠小於它在測試資料集上的誤差,我們稱該現象為過擬合 欠擬合 模型訓練誤差無法降低.如何應對欠擬合和過擬合?在這裡我們重點討論兩個因素 模型複雜度和訓練資料集大小。1.1.1 模型複雜度 為了解釋模...
動手學資料分析 Task 2
常用的函式有dropna 和fillna dataframe.dropna axis 0,how any thresh none,subset none,inplace false 屬性說明 預設引數axis 0,根據索引 index 刪除指定的行 axis 1,根據列名 columns 刪除指定的...