今天学习了python数据分析工具pandas中Series数据结构中第二种数据结构DataFrame数据框的概念和一些基本操作:
一、DataFrame的概念
DataFrame :数据框用于存储多行多列的数据集合,是Series的容器,类似于Excel的二维表格
二、基本操作和使用
操作:增,删,查,改
使用方法:
DataFrame(columnsMap)
df = DataFrame({'age':Series([25,26,28]),'name':Series(['tom','jack','ben'])}, index=[0,1,2])
结果:
age name
0 25 tom
1 26 jack
2 28 ben
数据框的访问方式:
访问列:变量名[列名] # df['name']
访问行:变量名[n:m] #访问n行到m-1行, df[1:2]
访问块(行和列):变量名.iloc[n1:n2,m1:m2] # 访问n1到n2-1行,m1到m2-1列的数据, df.iloc[0:2,0:2]
访问指定的位置:变量名.at[行名,列名] # B = df.at[2,'name']
df2 = DataFrame(data={'age':[21,22,23],'name':['KEN','Join','Jimi']},index=['first','second','third'])
df2.at['second','name'] # 'Join'
df2.at[2,'name'] # 报错 当有索引名时, 不能用索引号
# 修改列名
df2.columns = ['age2','name2']
# 修改行索引
df2.index = range(1,4)
# 根据行索引删除
df2.drop(1,axis=0) # axis=0表示行轴,也可以省略
# 根据列名进行删除
df2.drop('age2', axis=1) # axis=1表示列轴,不可以省略
# 第二种删除列的方法
del df2['age2']
# 增加列
df2['age2'] = [21,22,23]
# 增加行
df2.loc[len(df2)] = ['tomcat',34] # 效率较低
# 合并DataFrame来增加行
df3 = DataFrame([[1,2],[3,4]],columns=list('AB'))
df4 = DataFrame([[5,6],[7,8]],columns=list('AB'))
df3.append(df4)
结果:
A B
0 1 2
1 3 4
0 5 6
1 7 8
只是简单把两个DataFrame叠加成新的数据框,不修改index
df3.append(df4,ignore_index=True)
结果:
A B
0 1 2
1 3 4
2 5 6
3 7 8
合并成一个新的数据框,并产生新的index