*** 数据框:由多个序列按照相同的index组织在一起形成一个二维表,可以视为字典的拓展或者有名字二维数组,是在数据分析中最常用到的数据格式之一 ***
数据框的特点
1、各列表成员必须是向量(数值型、字符型、逻辑型)、因子、数值型矩阵、列表,或 其它数据框;
2、作为数据框变量的向量、因子或矩阵必须具有相同的长度(行数);
3、数据框可以自由的对行、列和单元进行操作;
1、数据框的创建
import pandas as pd
import numpy as np
##字典构造法
dic={"第一列":[1,2,3,4,5],
"第二列":np.array([4,5,6,7,8]),
"第三列":(7,8,9,10,11)}
data1=pd.DataFrame(dic)
data1
##数组构造法
arr=np.arange(0,15).reshape(5,3)
data2=pd.DataFrame(arr)
data2
##对数据框进行命名
data2.columns=["第一列","第二列","第三列"]
data2
##系列构造法
seri=[pd.Series([1,2,3,4,5]),pd.Series([4,5,6,7,8]),pd.Series([7,8,9,10,11])]
data3=pd.DataFrame(seri)
data3
##系列构造法是横向组合数据框
2、数据框属性的查看
##构造一个数据框(二维表)
data=pd.DataFrame({"姓名":["小红","小白","小兰","小花","小橙"],
"性别":["女","男","女","女","男"],
"年龄":[13,14,15,18,15],
"成绩":[98,96,99,94,90]})
#查看dataframe前3行
data.head(3)
## 查看数据框的形状
print("数据框的形状是: "+str(data.shape))
##查看数据框的大小
print("数据框的大小是: "+str(data.size))
output |
---|
数据框的形状是: (5, 4) |
数据框的大小是: 20 |
#查看每一列的详情
data.info()
#查看数据的描述性统计情况
data.describe()
3、数据框元素的访问
####数据框的元素的访问
#iloc(隐形索引)定位法
data.iloc[[0,1,2,3],[0,1,2]]
data.iloc[[0,1,2,3],1:3]
data.iloc[1:5,1:3]
#ioc(显式索引)定位法
data.loc[1,"姓名"]
#行列定位法
data["姓名"][3]
data[['姓名','成绩']][3:5]
#at定位法
data.iat[1,2]
data.at[1,"姓名"]
#### 数据框的行操作
##根据索引提取特定的行
data.iloc[[0,1,2,3]] #提取索引为0,1,2,3的行
data.iloc[1:5] #提取索引为1-4的行,不包含5索引
##根据条件筛选行
##筛选出成绩>95的行
data_2=data[data['成绩']>95]
data_2
#### 数据框的列操作
#列操作
#查看所有列
print(data.columns)
#提取出姓名、年龄、成绩
data_1=data[[ '姓名', '年龄', '成绩']]
#删除年龄
data_1.drop(['年龄'],axis=1)
#增加一列
data_1['增加一列']=[1,1,1,1,1]
data_1
output |
---|
Index([‘姓名’, ‘性别’, ‘年龄’, ‘成绩’], dtype=‘object’) |
|