pandas—总结(3)数据处理
发布时间:2020-12-14 03:18:42 所属栏目:大数据 来源:网络整理
导读:import numpy as npimport pandas as pdframel = pd.DataFrame( {‘id‘:[‘ball‘,‘pencil‘,‘pen‘,‘mug‘,‘ashtray‘],‘price‘: [12.33,11.44,33.21,13.23,33.62]})frame2 = pd.DataFrame( {‘id‘:[‘pencil‘,‘ball‘,‘pen‘],‘color‘: [‘wh
import numpy as np import pandas as pd framel = pd.DataFrame( {‘id‘:[‘ball‘,‘pencil‘,‘pen‘,‘mug‘,‘ashtray‘],‘price‘: [12.33,11.44,33.21,13.23,33.62]}) frame2 = pd.DataFrame( {‘id‘:[‘pencil‘,‘ball‘,‘pen‘],‘color‘: [‘white‘,‘red‘,‘black‘]}) pd.merge(frame1,frame2,on=‘id‘) # 按照指定基准列合并两个df,默认内连接 frame2.columns = [‘brand‘,‘sid‘] # 更换columns名称 pd.merge(framel,left_on=‘id‘,right_on=‘sid‘) # 合并df,左右连接 pd.merge(framel,on=‘id‘,how=‘outer‘) # 合并df,外连接 pd.merge(framel,干 rame2,on=[‘id1,1 brand1],how=‘outer ’) # 合并多列 pcLmerge( 干 ramel,right_index=True,left 一 index=True) # 按照index进行合并 frame3.join(frame4) # 按照index合并,df不能有相同的columns np.concatenate([arrayl,array2],axis=0) # 增加行的方式合并数组 np.concatenate([arrayl,axis=1) # 增加列的方式合并数组 pd.concat([sen,ser 2 ],axis=0) # 增加行的方式合并Series或df pd.concat([sen,axis=1) # 增加列的方式合并Series或df pd.concat([sen,ser3],axis=1,join=‘ inner‘) # 按内连接方式合并 pd.concat([serl,ser2],keys=[1,2]) # 在拼接的轴上创建等级索引 ser1.combine_first(ser2) # 组合Series或df,重合index则保留ser1 serl[ : 3] .combine_first(ser2[ : 3]) # 合并部分行 # 轴向旋转 framel = pd.DataFrame(np.arange(9).reshape(3,3),index=[‘white‘,‘black‘,‘red‘],columns=[‘ball‘,‘pen’,‘pencil‘]) frame1.stack() # df 转为多级索引的Series ser.unstack() # 多级索引的Series转为df frame.unstack(0) # 转置 wideframe = longframe. pivot (1 color‘,‘ item‘) # 长格式转为宽格式 frame.duplicated() # 某一行在之前无相同行,返回True,否则返回False。 frame[frame.duplicated()] # 删除多余的重复行 # 映射的运用 frame.replace(newdict) # 利用映射替换元素 ser.replace(np.nan,0) # 值替换 frame[‘price‘] = frame["item"].map(price) # 利用映射增加列,其中item和price分别为dict的key和value frame.rename(index=dict1,columns=dict2) # 利用映射重命名index,其中dict的key和value分别为df的旧、新index、columns 千 rame.rename(index={1:’first"},columns={‘’item‘:‘object‘}) # 重命名部分index和columns # 离散化和面元划分 cat=pd.cut(arr1,bins,labels=bin_names) # 对数据分组,bins为分组的结点。bin_names为各区间的名称。 cat.levels # 查看不同内部类别的名称 cat.labels # 查看各元素所属区间的编号 pd.value_counts(cat) # 查看每个区间的元素个数 pd.cut(results,5) # 将数据分为5个区间,区间长度相等 pd.qcut(results,5) # 将数据分为5个区间,区间包含元素个数相等 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |