#預設做inner連線
pandas.merge(df1, df2, on=['key_a', 'key_b',...], how='outer')
# 兩個物件列名不同可以分別指定
pandas.merge(df1, df2, left_on='key1', right_on='key2', how='outer')
# left_index=true或right_index=true說明索引應該被用作連線鍵
pandas.merge(df1,df2,left_on='key',right_index=true)
#對於層次化索引,必須以列表的形式指明用作合併鍵的多個列(注意對重複索引值的處理)
#join方法
df2.join(df1, how='outer')
#用df2填補df1的空值
df1.combine_first(df2)
# 指定列
data.drop_dulicates(['k1'])
data['新列名'] = data['food'].map(str.lower).map('字典名')
# 或者使用函式
data['food'].map(lamda x: 字典名[x.lower()])
data.replace(-999, np.nan)
data.replace([-999, -1000], np.nan)
rename():建立資料集的轉換板
#可結合字典物件
data.rename(index
,columns=)
#就地修改
data.rename(inplace=true)
連續資料常常被離散化或拆分為「面元」
ages = [20, 22, 25, 27, 21, 23, 37, 61, 45, 41, 32]
bins = [18, 25, 35, 60, 100] #拆分點
cats = pd.cut(ages, bins, right=true) #設定右邊是閉端
#自己設定面元名稱
cats = pd.cut(ages, bins, label=group_names)
#若cut傳入的是面元的數量,而不是具體的邊界,則根據資料的最大最小值計算等長面元
cats = pd.cut(ages, 4, percision=2)
返回乙個特殊的categorical物件,有屬性labels, levels, value_counts
#選出「超過3或-3的值」
data[(np.abs(data) > 3).any(1)]
#將值限制在[-3, 3]
data[np.abs(data) > 3] = np.sign(data) * 3
df.take(np.random.permutation(len(df))[:3])
#給指標矩陣的列加上字首,以可以跟其他資料合併
dummies = pd.get_dummies(df['key'], prefix='key')
結果:列'a'變成了'key_a',於是可以跟原矩陣df合併
pieces = ['a', 'b', 'c']
val = '::'.join(pieces)
結果:'a::b::c'
val.replace('::', '')
跳過
略
利用python進行資料分析
目錄 10 minutes to pandas 翻譯 pandas中loc iloc ix的區別 pandas dropna函式 pandas中dataframe的stack unstack 和pivot 方法的對比 pandas中關於set index和reset index的用法 python匿...
利用python進行資料分析
利用python進行資料分析,需要了解一些基本的方法,比如掌握回歸分析的方法,通過線性回歸和邏輯回歸,其實你就可以對大多數的資料進行回歸分析,並得出相對精確地結論。這部分需要掌握的知識點如下 回歸分析 線性回歸 邏輯回歸 基本的分類演算法 決策樹 隨機森林 樸素貝葉斯 基本的聚類演算法 k mean...
《利用Python進行資料分析》筆記
之前的筆記一直記在我的印象筆記上,今天突然想到 不如直接記在部落格上,印象筆記只記錄生活上的事,這樣也分工明確一些。同時也能和大家分享,也許可以幫助到別人。由於這個學習筆記系列主要還是用於個人學習總結用,所以會比較凌亂,望大家理解!2017 9 23 p151 pd.dropna thresh 其中...