猫老师今天上课时正好讲到了pandas包的使用,于是想作为教材的补充,来进行一下知识点的重组,请有空的同学们去上机实验。
一、常用功能及函数简介
导入相关的包
一般我们需要做如下导入,numpy和pandas一般需要联合使用:
import pandas as pd
import numpy as np
本文采用如下缩写:
df:Pandas DataFrame对象
s: Pandas Series对象
数据导入pd.read_csv(filename):从CSV文件导入数据
pd.read_table(filename):从限定分隔符的文本文件导入数据
pd.read_excel(filename):从Excel文件导入数据
pd.read_sql(query, connection_object):从SQL表/库导入数据
pd.read_json(json_string):从JSON格式的字符串导入数据
pd.read_html(url):解析URL、字符串或者HTML文件
pd.read_clipboard():从粘贴板获取内容
pd.DataFrame(dict):从字典对象导入数据
数据导出
l df.to_csv(filename):导出数据到CSV文件
l df.to_excel(filename):导出数据到Excel文件
l df.to_sql(table_name, connection_object):导出数据到SQL表
l df.to_json(filename):以Json格式导出数据到文本文件
创建对象
pd.DataFrame(np.random.rand(20,5)):创建20行5列的随机数组成的DataFrame对象
pd.Series(my_list):从可迭代对象my_list创建一个Series对象
df.index = pd.date_range('1900/1/30', periods=df.shape[0]):增加一个日期索引
index和reindex联合使用很有用处,index可作为索引并且元素乱排序之后,所以跟着元素保持不变,因此,当重拍元素时,只需要对index进行才重排即可:reindex。
另外, reindex时,还可以增加新的标为NaN的元素。
数据查看
df.head(n):查看DataFrame对象的前n行
df.tail(n):查看DataFrame对象的最后n行
df.shape():查看行数和列数
df.describe():查看数值型列的汇总统计
s.value_counts(dropna=False):查看Series对象的唯一值和计数
df.apply(pd.Series.value_counts):查看DataFrame对象中每一列的唯一值和计数
apply的用处很多,比如可以通过跟lambda函数联合,完成很多功能:将包含某个部分的元素挑出来等等。
2020.6.5