pandas常用操作总结

pandas基本介绍

s=pd.Series([1,3,6,np.nan,4,1]) #创建一个Series序列
df=pd.DataFrame(np.random.randn(6,4),index=dates,columns=['a','b','c','d']) #创建一个DataFrame数据框
df1=pd.DataFrame({'A':1,
'B':pd.Timestamp('20130102'),
'C':pd.Series(1,index=list(range(4),dtype='int32',
'D':np.array([3]*4,dtype='int32'),
'E':pd.Categorical(["test","train","test","train"]),
'F':'foo'}) #另一种创建DataFrame的方式
df1.dtypes #给出数据框每一列的数据形式
df1.index #返回数据框的index
df1.columns #返回数据框的columns
df1.values #输出数据框所有的values
df1.describe() #会给出数据框的一些统计数据,如count,mean,std,min等
df1.T #数据框转置
df1.sort_index(axis=1,ascending=False) #axis=1,对df1的列进行排序,ascending=False则倒序排列)
df1.sort_values(by='E') #by指定对某一列进行排序

pandas选择数据

#先创建一个DataFrame
dates=pd.date_range('20130101',periods=6)
df=pd.DataFrame(np.arange(24).reshape((6,4)),index=dates,columns=['A','B','C','D'])

print(df['A'],df.A) #提取数据框某一列的两种方法
pirnt(df[0:3],df['20130102':'20130104']) #选取数据框的某几行

#select by label:loc
df.loc['20130102'] #该方法需要根据行名和列名来选择数据
df.loc[:,['A','B']]) #选择A,B列的所有数据

#select by position:iloc
df.iloc[3,1] #根据位置来选取数据,这里选取第3行的第一列数据
df.iloc[3:5,1:2] #选取第3-5行,1-2列的数据
df.iloc[[1,3,5],1:3] #选取第1,3,5行,1-3列的数据

#mixed selection:ix
df.ix[:3,['A','C']] #将loc和iloc方法混合使用的一种方法,可同时用label和position选取

#Boolean indexing
df[df.A>8] #筛选出A中数据数值大于8的所有行组成的dataframe

pandas设置值

#先创建一个DataFrame
dates=pd.date_range('20130101',periods=6)
df=pd.DataFrame(np.arange(24).reshape((6,4)),index=dates,columns=['A','B','C','D'])

df.iloc[2,2]=1111
df.loc['20130101','B']=2222
df[df.A>4]=0 #将A列当中满足值大于4的行的所有元素都赋值为0
df.A[df.A>4]=0 #将A列当中满足值大约4的所有元素赋值为0
df.B[df.A>4]=0 #如果A列当中存在值大约4的行,将该行在B列的值变为0
df['F']=np.nan #新建F列,并将该列的值设置为nan
df['E']=pd.Series([1,2,3,4,5,6],index=pd.date_range('20130101',periods=6))

pandas处理丢失数据

#先创建一个DataFrame
dates=pd.date_range('20130101',periods=6)
df=pd.DataFrame(np.arange(24).reshape((6,4)),index=dates,columns=['A','B','C','D'])
#人为创建两个丢失的数据
df.iloc[0,1]=np.nan
df.iloc[1,2]=np.nan
df.dropna(axis=0, how='any')) #丢弃只要含有nan的行,how={'any','all'},当axis=0时,all表示只有该行所有元素都为nan时才丢弃
df.fillna(value=0)) #将dataframe中的nan全部替换成0
df.isnull() #判断df中有没有缺失数据,返回bool型的dataframe
np.any(df.isnull())==True #判断df中是否至少含有一个缺失值,如果有缺失值则返回True,没有则返回False

pandas导入导出

data=pd.read_csv('student.csv',sep="\t",index_col=0,header=0) #读取csv格式文件,sep指定分隔符,header指定行数用来作为列名,默认为0,如果文件中没有列名,可设置为None; index_col指定用作列索引的列编号或者列名

data.to_csv('student.csv') #参数基本与read_csv相同

pandas合并concat

#concatenating

concatenating.png

#join,['inner','outer']

join.png

#join_axes

join_axes.png

#append

append.png

pandas合并merge

#merge

merge.png

#merging two df by key/keys.(may be used in database)
#consider two keys

merge_by_keys.png

#how=['left','right','outer','inner']

how.png

#indicator

indicator.png

#give the indicator a custom name

idicator_custom.png

#merged by index

merged_by_index.png

#left_index and right_index

left_index_and_right_index.png

#handle overlapping

handle_overlapping.png

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352