《利用python進行資料分析》第七章

2021-09-26 04:57:27 字數 1880 閱讀 8635

#預設做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 其中...