# -*- coding: utf-8 -*-
#1. 概念:数据框。用于存储多行和多列的数据集合
from pandas import DataFrame
#2. 定义
#自动生成索引的方式:
df = DataFrame({
'age':[21,22,23],
'name':['zhangsan','lisi','wangwu']
})
#自定义索引的方式:
df= DataFrame(
data={'age':[21,22,23],
'name':['zhangsan','lisi','wangwu']
},
index=['first','second','third']
)
#3.限制:(待补充)
#4.访问
#按列访问
df['age']
#访问多列
df[['age','name']]
#按行访问
df[0:1] #返回第0(下标从0开始)行的数据
df[1:2]
#按行索引访问
df.loc[['first','second']]
#按行列号访问
df.iloc[0:1,0:1] #返回第0行第0列的数据
#精准定位,按行索引+列名访问
df.at['first','name'] #'zhangsan'
#修改列名
df.columns #查看有哪些列名
df.columns = ['age2','name2']
#修改行索引
df.index #查看有哪些列索引
df.index = range(1,4)
df.index #再次查看
#如何删除数据?
df.drop('first',axis=0) #axis:轴参数,0表示行,1表示列
#同样的,以上语句的删除并不会真的改变df,该方法只是返回删除后的数据框值(得到了一个新的数据框对象)
df.drop('age',axis=1) #删除名为age的一列
#增加行,
#注意,这种方法,效率非常低,不应该用于遍历中
df.loc[len(df)] = [24,"aiyo"] #和删除不同,此语句会真的改变df
#增加列:
df['sex'] = ['女','男','男','女'] #数量必须和对象原有行数相等,否则会报错
#1. 概念:数据框。用于存储多行和多列的数据集合
from pandas import DataFrame
#2. 定义
#自动生成索引的方式:
df = DataFrame({
'age':[21,22,23],
'name':['zhangsan','lisi','wangwu']
})
#自定义索引的方式:
df= DataFrame(
data={'age':[21,22,23],
'name':['zhangsan','lisi','wangwu']
},
index=['first','second','third']
)
#3.限制:(待补充)
#4.访问
#按列访问
df['age']
#访问多列
df[['age','name']]
#按行访问
df[0:1] #返回第0(下标从0开始)行的数据
df[1:2]
#按行索引访问
df.loc[['first','second']]
#按行列号访问
df.iloc[0:1,0:1] #返回第0行第0列的数据
#精准定位,按行索引+列名访问
df.at['first','name'] #'zhangsan'
#修改列名
df.columns #查看有哪些列名
df.columns = ['age2','name2']
#修改行索引
df.index #查看有哪些列索引
df.index = range(1,4)
df.index #再次查看
#如何删除数据?
df.drop('first',axis=0) #axis:轴参数,0表示行,1表示列
#同样的,以上语句的删除并不会真的改变df,该方法只是返回删除后的数据框值(得到了一个新的数据框对象)
df.drop('age',axis=1) #删除名为age的一列
#增加行,
#注意,这种方法,效率非常低,不应该用于遍历中
df.loc[len(df)] = [24,"aiyo"] #和删除不同,此语句会真的改变df
#增加列:
df['sex'] = ['女','男','男','女'] #数量必须和对象原有行数相等,否则会报错