DataFrame 类型类似于数据库表结构的数据结构,其含有行索引和列索引,可以将DataFrame 想成是由相同索引的Series组成的Dict类型。在其底层是通过二维以及一维的数据块实现.
1,DataFrame 对象的构建
import pandas as pd #声明数据框架对象 list = {'男生':['王超','德芙','家福'],'女生':['阿尼','阿玉','阿东']} gendered = pd.DataFrame(list) print(gendered) #自动生成索引 结果: 男生 女生 0 王超 阿尼 1 德芙 阿玉 2 家福 阿东
2指定列的顺序
gendered1 = pd.DataFrame(list,columns=['女生','男生']) print(gendered1) 结果: 女生 男生 0 阿尼 王超 1 阿玉 德芙 2 阿东 家福
3指定索引
gendered2 = pd.DataFrame(list,[7,8,9]) print(gendered2) 结果: 男生 女生 7 王超 阿尼 8 德芙 阿玉 9 家福 阿东
一些常用属性
list = {'男生':['王超','德芙','家福'],'女生':['阿尼','阿玉','阿东']} df = pd.DataFrame(list) print(df.size) print(df.shape) #打印头部一条 print(df.head(1)) # 打印尾部一条 print(df.tail(1)) # 打印所有列 print(df.columns) # 打印数据 print(df.info()) 结果: 6 (3, 2) 男生 女生 0 王超 阿尼 男生 女生 2 家福 阿东 Index(['男生', '女生'], dtype='object') <class 'pandas.core.frame.DataFrame'> RangeIndex: 3 entries, 0 to 2 Data columns (total 2 columns): 男生 3 non-null object 女生 3 non-null object dtypes: object(2) memory usage: 128.0+ bytes
实例 应用:
#使用科学计算来统计AVG年龄 df = pd.DataFrame({'gender':['男','女'],'age':[18,20]}) #分组运算 grouped = df['age'].groupby(df['gender']) #平均年龄 avg_age = grouped.mean() #可以根据键取值 print(avg_age) 结果: gender 女 20 男 18 Name: age, dtype: int64