DataFrame 数据框是用于存储多行和多列的数据集合,是Series的容器,类似于Excel的二维表格,对于DataFrame的操作无非是增删改查。
学DataFrame其实就相当于学习Excel一样,很简单,但是琐碎的东西很多也很灵活。DataFrame的很多函数和用法不用死记,我们只需要知道有这么一个用法,记得这种用法但不记得具体怎么写可以查百度。
DataFrame的定义
from pandas import Series,DataFrame #定义 df = DataFrame({'age':Series([26,29,24]),'name':Series(['zbp','cc','yf'])}) # print(df) #访问age列 age = df['age'] #类型是Series # print(age) # # 0 26 # 1 29 # 2 24 # Name: age, dtype: int64 #获取第一行 row1 = df[0:1] #错误写法:row1=df[0] # print(row1) #获取最后一行 print(df[2:]) print(df[len(df)-1:]) #获取多行 row2=df[1:3] # print(row2) # # age name # 1 29 cc # 2 24 yf #获取前两行的前两列 values = df.iloc[0:2,0:2] #含头不含尾 # print(values) #获取第一行的name字段 name = df.at[0,"name"] # print(name)})
DataFrame的其他基本用法
df1 = DataFrame({'age':[21,22,23],'name':['zbp','yf','cc']}) df2 = DataFrame(data={'age':[21,22,23],'name':['zbp','yf','cc']},index=['a','b','c']) # print(df1[1:100]) # age name # 1 22 yf # 2 23 cc # print(df1[2:2]) # Empty DataFrame # Columns: [age, name] # Index: [] # print(df1[4:1]) #结果同上 # print(df2['a':'a']) #根据索引名访问第一行 # print(df2[0:1]) #结果同上,错误写法:df2[0:0] # print(df2['a':'c']) # print(df1.columns) #获取所有列名 # print(df1[df1.columns[0:1]]) #根据列号获取列 # print(df1.index) #获取索引 #因为df2有字母索引,所以,不能通过数字索引获取块 # print(df2.at['a','name']) # print(df2.at[0,'name']) #报错 #df1.iloc[0:1,0:1]和df1.at[0,'name']的区别是前者是dataFrame 后者是字符串 # 修改列名 df1.columns = ['age2','name2'] #修改行索引,原来行索引以0开始,现在以1开始 df1.index = range(1,4) # print(df1) #根据行号删除行,不影响原df,axis默认为0 df3 = df1.drop(1,axis=0) # print(df3) #删除列 df4 = df1.drop('name2',axis=1) #错误写法:df1.drop(1,axis=1) # print(df4) #删除列 法2 会影响原df del df1['age2'] # print(df1) #增加列 df1['salary']=[8500,8500,10000] # print(df1) #增加行 该方法效率低 df2.loc[len(df2)]=[30,"cjq"] # print(df2) #增加行可以通过合并两个df实现 df1=DataFrame([[1,2],[3,4]],columns=list("AB")) df2=DataFrame([[5,6],[7,8]],columns=list("AB")) #法1 df3 = df1.append(df2) print(df3) #合并后的结果中,两个df的index不变 # # A B # 0 1 2 # 1 3 4 # 0 5 6 # 1 7 8 #法2 df4 = df1.append(df2,ignore_index=True) #合并后索引自动更新 print(df4)
更多有关Series和DataFrame的使用方法会在后续数据处理的章节演示
如果您需要转载,可以点击下方按钮可以进行复制粘贴;本站博客文章为原创,请转载时注明以下信息
张柏沛IT技术博客 > Python数据分析基础之Pandas(二) DataFrame数据表格的基本使用
点击复制转载该篇文章