1、 DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表。
DataFrame的单元格可以存放数值、字符串等,这和excel表很像。
同时DataFrame可以设置列名columns与行名index,可以通过位置获取数据,也可以通过列名和行名定位。
2、
pd.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)
pd.DataFrame([[1,2,3,4],[1,2,3,4]],columns=[‘a’,’b’,’c’,’d’]);D、F一定大写
index也可以赋值,但是一般都使用数字;index行标签;columns列标签
3、 工作中基本是读取csv和数据库,很少有生成数据框的时候;数据框简写:df
4、 查看基本信息:df.info():每一列的数据类型一致
5、 单取某一列的时候,数值类型会由DataFrame变为Series
df.age相当于df[‘age’] ;但建议使用df[‘age’]
6、 单取某一行的时候。数值类型会由DataFrame变为Series
df.ix[0];不建议这样操作,尽量使用loc,iloc
7、 列切:df[ [‘age’,’name’] ];外边[ ]是切片,里面[ ]是列表
行切: df[0:1],右边是开区间,df.ix[0:1],右边是闭区间
8、 多重切片:df[ [‘name’,’sex’,’age’] ][0:2];加深部分一定要是范围,且右边是开区间
9、 改值:
df.age=df[‘age’]=22 、df.sex=df[‘sex’]=’男’;针对整列
df.age[0]=df[‘age’][0]=22;针对某个值
df.age=[18,18,20];也是修改了一列值
改索引:
df.index=list(‘abc’) or df.index=[0,1,2]
10、(1)~不加(),True 变为 False
(2)~(),都反转
多条件:两个一维数组分别进行逻辑判断,然后用 &、| 相连
11、=:赋值
==:逻辑判断
12、query过滤查询函数,进行智能判断;数据框这个类下的方法(函数)
引号不要引起冲突
支持 bool 过滤
13、高阶用法(难点)
ix[混合切],根据索引或者标签都能切
loc[根据标签名],loc支持 bool 过滤
iloc[根据所在行、所在列的数字为索引],iloc不支持 bool 过滤
df.iloc[1]/df.iloc[1:2]都可以
iloc[row_indexer,col_indexer]/loc[row_indexer,col_indexer],可以满足两个条件
14、数据框改值:
df.age = [18,18,20]
df.index = [0,1,2]
