-
index: 如何定義名稱,如何回復(fù)從0到N排序, 如何刪除/增加某一行,如何根據(jù)條件獲取某些行
- 如何回復(fù)從0到N排序:frm.rename(index=lambda x: x + 1)/frm.reset_index(drop=True)
- 如何刪除某一行 frm.drop([x,y]),
- 根據(jù)條件獲取某些行 :frm['col'].isin([key])
- 根據(jù)條件獲取某些行:frm['col'].str.contains(正則表達(dá)式內(nèi)容)
- 根據(jù)條件獲取某些行 :frm[frm['col']>xx]
-
columns: 如何改變名稱,如何刪除/增加某一列, 如何根據(jù)條件獲取某些列
- 改變列名:frm.rename(columns={'old_name': 'new_ name'})
- 改變列名 :frm.columns = ['a','b','c']
- 增加列 :df.insert(idx, col_name, value)
- 增加列: frm['new_col'] = list
- 刪除列: frm.drop(['col'],axis=1)
- 根據(jù)條件獲取某些列 frm.groupby(col) frm.groupby([col1,col2])
-
series: 如何加減乘除? 如何實(shí)現(xiàn)向量點(diǎn)乘?如何去重? 如何轉(zhuǎn)化為dict和list? 如何對所有的元素執(zhí)行某個函數(shù)從而獲取新的series? 如何排序?如何求平均值,最大值,最小值.
- 加減乘除:series +-x/ xx
- 向量點(diǎn)乘:pd.dot(series1, series2)
- 去重:series.unique()
- dict,list:
- dict返回的是dict of dict;list返回的是列表的字典;series返回的是序列的字典;records返回的是字典的列表
- series1 = series.to_dict(orient='dict')
- series2 = series.to_dict(orient='list')
- series3 = series.to_dict(orient='series')
- series4 = series.to_dict(orient='records')
to_dict的各種情況
- 'dict' (default) : dict like {column -> {index -> value}}
- 'list' : dict like {column -> [values]}
- 'series' : dict like {column -> Series(values)}
- 'split' : dict like {'index' -> [index], 'columns' -> [columns], 'data' -> [values]}
- 'records' : list like [{column -> value}, ... , {column -> value}]
- 'index' : dict like {index -> {column -> value}}
- 對DataFrame中的每一列應(yīng)用函數(shù)func: series.apply(func)
- 對DataFrame中的每一行應(yīng)用函數(shù)func: series.apply(func,axis=1):
- 排序: series.sort_values()
- 最大值: series.max()
- 最小值: series.min()
- 平均值: series.mean()
- loc: 如何根據(jù)行序號來獲取某一行? 如何根據(jù)行列值獲取一個值?
- 根據(jù)行序號來獲取某一行: frm.iloc[x]
- 如何根據(jù)行列值獲取一個值:frm.loc[x,y]/frm.loc[i:col]
- frm: 如何從dict,list中創(chuàng)建frm,如何實(shí)現(xiàn)兩個frame之間的合并? 兩個frm之間如何加減乘除?
- 從dict中創(chuàng)建frm: pd.DataFrame.from_dict/pd.DataFrame(dict)
-用dict的list創(chuàng)建frm:pd.DataFrame.from_records(dict_list) - 從dict,list中創(chuàng)建frm: pd.DataFrame(list)
- 實(shí)現(xiàn)兩個frame之間的合并:pd.merge(frm1.frm2)
- 兩個frm之間加減乘除: frm1 +-*/ frm2
- 從dict中創(chuàng)建frm: pd.DataFrame.from_dict/pd.DataFrame(dict)
- values: 是什么數(shù)據(jù)類型? 如何實(shí)現(xiàn)兩個values之間的矩陣乘法?
- ndarray
- 矩陣乘法:(values1.T)*values2
- date: 如何獲取一段連續(xù)的日期?
- pd.date_range('1900/1/30', periods=xx)
- 細(xì)節(jié): 把一個整數(shù)列的某一個元素賦值為None會發(fā)生什么
- 這一個整數(shù)列都變成float格式
- 如何分組求和,求平均?(利用groupby);
- 分組求和:frm.groupby([col]).sum() :對col列下的值所在行的其他列的值進(jìn)行求和
- 分組求平均:frm.groupby([col]).mean()
group_by用法可見此鏈接pandas groupby用法
- 如何對一列轉(zhuǎn)化為類型?(用astype)
- 轉(zhuǎn)化類型:frm[[col]] = frm[[col]].astype(type)
- 如何將dataframe保存到本地html或者pickle文件?
- frm.to_html()
- frm.to_pickle()
- 如何更改index的col名?
- frm.index.name = "new_name"
- 如何更改column的順序?
- frm = frm.reindex(columns = [....])