1.DataFrame
是一种二维的数据结构
等同于 表格
行 index
列 columns
dataframe的成员分为3个部分:
1.列索引
2.行索引
3.数据
| 学号 | 姓名 | 成绩 | |
|---|---|---|---|
| 0 | 1000 | 张三 | 80 |
| 1 | 1001 | 李四 | 81 |
| 2 | 1002 | 王五 | 80 |
如何创建dataframe?
1.通过字典
df=pd.DataFrame({'学号':[1000,1001,1002],'姓名':['张三','李四','王五'],'成绩':[80,81,80]},index=[1,2,3])
- 字典的键—-》dataframe列索引
- 键值———》dataframe的数据
- 键值的数据和类型,长度必须一致
- 不同的键值之间的长度必须一致
2.通过n维数组
import numpy as npdf=pd.DataFrame(np.array([[1000,'张三',80],[1001,'李四',81],[1002,'王五',80]]),columns=['学号','姓名','成绩'],index=[1,2,3])
3.通过列表
```python df=pd.DataFrame([[1000,’张三’,80],[1001,’李四’,81],[1002,’王五’,80]],columns=[‘学号’,’姓名’,’成绩’],index=[1,2,3])
<a name="nBtp4"></a>## 保存结果(to_html,to_excel,to_csv)注意一下字符集,程序默认是utf-8,windows默认是win936,(gbk)<br />思路就是,程序和系统都保持相同的字符集```python#encoding='GBK' 保存到CSVdf.to_csv("f:\\xxx.csv",encoding='gbk',index=False)#index=False 表示不插入行索引#保存到htmldf.to_html('f:\\3.html',encoding='gbk',index=False)#保存到exceldf.to_excel('f:\\3.xlsx',encoding='gbk',index=False)
查看dataframe的缺失数据
基本成员操作
print(type(df)) #查看数据类型print(df.shape) #查看dataframe的大小print(df.index) #查看行索引print(df.columns) #查看列索引print(df.info()) #查看dataframe的详细信息print(df.describe()) #查看dataframe的描述信息df[['列索引名']].count() #计算数量(主要针对列)结果是包含列索引名和数据类型的df['列索引名'].count() #结果是一个直接的值df['列索引名'].max() #计算最大值(按第一列的值)df['列索引名'].min() #计算最小值(按第一列的值)df['列索引名'].sum() #求和,全部数据项求和df['列索引名'].mean() #求平均值df['列索引名'].median() #求中位数df['列索引名'].mode() #求众数df['列索引名'].var() #方差df['列索引名'].std() #标准差df['列索引名'].mad() #平均绝对值df['列索引名'].skew() #偏度df['列索引名'].kurt() #峰度
2.Series
实质上是一维数据
3.mutiIndex与panel
这是一种三维的数据结构
