前言:本文是学习网易微专业的《python全栈工程师》 中的《数据分析 - 机器学习工程师》专题的课程笔记,欢迎学习交流。
一、课程目标
- 掌握
Series
和DataFrame
对象的创建方法 - 掌握读、写数据的方法
二、详情解读
2.1.Pandas
- 安装:
–pip install pandas
–conda install pandas
- 常用对象/数据类型
–Series
–DataFrame
2.1.1.Series
和DataFrame
创建Series
对象
import numpy as np
import pandas as pd
# 比较数组与Series
g = np.array([27466.15, 24899.3, 19610.9, 19492.4, 178885.39, 17558.76, 15475.09, 12170.2])
gdp = pd.Series(g, index=['shanghai', 'beijing', 'guangzhou', 'shenzhen', 'tianjin', 'chongqing', 'suzhou', 'chengdu'])
print(gdp)
相当于用有意义的索引来标识数组
运行结果:
如果不给index
传任何值,结果就会以数字作为下标
g2 = pd.Series(g)
运行结果:
用列表作为参数:
pd.Series(data=[100, 200, 300])
运行结果:
也可以是一个数字:
pd.Series(100, index=['a', 'b', 'c']
运行结果:
用字典创建Series
对象:
gdp2 = pd.Series({"wuhan": 11912.6, "hangzhou": 11050.5, "nanjing": 10503})
运行结果:
Series
对象的属性:
1.获取所有的索引:gdp.index
2.获取所有的值:gdp.values
3.给name
属性赋值:
gdp.name = "GDP(hundred million RMB)"
运行结果:
4.给索引的name
属性赋值:
gdp.index.name = "City Name"
运行结果:
2.2.DataFrame
对象
2.2.1.创建DataFrame
对象
gp = pd.DataFrame([
[27466.15, 2419.70],
[24899.30, 2172.90],
[19610.90, 1350.11],
[19492.60, 1137.87],
[17885.39, 1562.12],
[17558.76, 3016.55],
[15475.09, 1375.00],
[12170.20, 1591.76]
])
运行结果:
2.2.2.给DataFrame
对象的属性赋值
gp.index = ['SHANGHAI', 'BEIJING', 'GUANZHOU', 'SHENZHEN', 'TIANJIN', 'CHONGQING', 'SUZHOU', 'CHENGDU']
gp.columns = ['GDP', 'Population']
运行结果:
行索引标签与列索引标签:
gp = pd.DataFrame([
[27466.15, 2419.70],
[24899.30, 2172.90],
[19610.90, 1350.11],
[19492.60, 1137.87],
[17885.39, 1562.12],
[17558.76, 3016.55],
index = ['SHANGHAI', 'BEIJING', 'GUANZHOU', 'SHENZHEN', 'TIANJIN', 'CHONGQING'],
columns = ['GDP', 'Population'])
运行结果:
gp.index.name = 'City_Name'
gp.columns.name = 'Items'
运行结果:
2.2.3.DataFrame
对象的创建方法二:
pd.DataFrame({
"city": [
"beijing", "beijing", "huhbei", "shanghai"
],
"marks": [100.00, 96.91, 82.57, 82.47]},
index=["PKU", "Tsinghua", "WHU", "Fudan"]
)
结果如下:
2.3.读、写文件
pd.read_
df.to_
读的方法有很多,如下所示:
写的方法有如下所示:
比如:
# csv文件
df = pd.read_csv('./datasets/experiment.csv')
df
运行结果:
用下面的方法可以只显示一列索引:
df = pd.read_csv('.dastasets/experiment.csv', index_col=0)
df.head() # 不写参数时,默认读取前面5行数据
运行结果:
通过pd.read_csv?
可以查找read_csv
方法的使用参数:
将读取的数据另存为指定的文件类型:
将df
保存为xlsx
文件,可以安装Excel
第三方模块,
xlwt
用于操作.xls
文件,
openpyxl
或xlsxwriter
用于操作.xlxs
文件,
xlrd
用于操作Excel
文件
安装:注意在jupyter
下安装时,要添加感叹号。
!pip install xlwt openpyxl xlsxwriter xlrd
保存为xlsx
类型:
df.to_excel('./datasets/data.xlsx')
在jupyter
下查看/datasets
目录下是否有文件data.xlsx
。下面是linux的查看命令
!ls ./datasets
# 读Excel文件
df = pd.read_excel('./datasets/data.xlsx', index_col=0)
df.head(7)
运行结果:
三、课程小结
- 01
Series DataFrame
- 02 读、写文件