Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。
Time- Series:以时间为索引的Series。
DataFrame:二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。以下的内容主要以DataFrame为主。
Panel :三维的数组,可以理解为DataFrame的容器
函数 | |
---|---|
pd.Series(iterable,index) |
python的dict、numpy当中的ndarray(numpy中的基本数据结构)、具体某个数值。 index赋值必须是list类型 |
pd.DataFrame(data,columns=,index=) |
DataFrame.head 可以查询前几行的数据,默认为前五行;DataFrame.tail 查看后几行书,默认为5行;DataFrame.describe 查看全部数据df.sort_index(axis=,ascending=) axis为0/1的参数,表示按行/按列排序;ascending为boolean参数,False表示降序,True表示升序df.sort_value(by=,ascending=) by表示按哪一个columns参数排序删除:使用 del 或者pop(‘columns’) 方法。需要注意的是所有删除的方法都会改变原来DataFrame,而不是像其他方法一样内存当中新建一个DataFrame。pop由于弹出特定的列,会返回被弹出的列中的数值DataFrame.loc[index:index,[‘columns’]] ,loc方法当中的columns可以选择多列,如果表示只按列选择的话index可以不填但是冒号(:)和逗号(,)一定要写 |
- 表头行索引为“0”
pandas.read_csv("a.csv") |
导入csc文件 |
a.head(n) |
打印前n行数据,默认值为5 |
a.tail(n) |
打印后n行 |
a.columns |
获取列名,返回列表 |
a.shape |
返回a的行列数,二元组 |
a.loc[n] |
切片,n可以是列表 |
a[ColumnName] |
ColumnName为列名,可以多个,如a[[“i”,“j”]],返回对应列 |
导入数据
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文件,抽取其中的tables表格 |
pd.read_clipboard() | 从你的粘贴板获取内容,并传给read_table() |
pd.DataFrame(dict) | 从字典对象导入数据,Key是列名,Value是数据 |
导出数据
df.to_csv(filename) | 导出数据到CSV文件 |
df.to_excel(filename) | 导出数据到Excel文件 |
df.to_sql(table_name, connection_object) | 导出数据到SQL表 |
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]) | 增加一个日期索引 |
查看、检查数据
df.head(n) | 查看DataFrame对象的前n行 |
df.tail(n) | 查看DataFrame对象的最后n行 |
df.shape() | 查看行数和列数 |
http://df.info() | 查看索引、数据类型和内存信息 |
df.describe() | 查看数值型列的汇总统计 |
s.value_counts(dropna=False) | 查看Series对象的唯一值和计数 |
df.apply(pd.Series.value_counts) | 查看DataFrame对象中每一列的唯一值和计数 |
数据选取</