版权声明:不要转载复制当原创就好了,指明下参考地址或者书目,大家一起学习进步。 https://blog.csdn.net/Monk_donot_know/article/details/86167487
笔记说明:本文是我的学习笔记,大部分内容整理自 黄红梅,张良均等.Python数据分析与应用[M].北京:人民邮电出版社,2018,80-130. 还有部分片断知识来自网络搜索补充。
推荐 这个博客帖子https://blog.csdn.net/hhtnan/article/details/80080240
文章目录
1.读写文本文件
import pandas as pd
1.1文本读取
help(pd.read_table)
read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer',
names=None, index_col=None,dtype=None, engine=None, nrows=None)
#read_table同
参数 | 说明 |
---|---|
filepath | 文件路径 |
sep | 分隔符。CSV默认",",table默认为制表符"Tab" |
header | 列名。默认为’infer’,自动识别 |
index_col | 索引列的位置,int、sequence多重索引、False,默认为None |
dtype | 接受dict,代表写入数据的类型 |
engine | 接受c或者python,默认为C |
encoding | 编码,常用utf-8,gbk,gb2312 |
nrows | int,表示读取数据的前n行,默认为None |
1.2文本文件储存
dataframe.to_csv(path_or_buf=None, sep=',',
na_rep='',columns=None,
header=True,index=True,
index_label=None,mode='w', encoding=None)
参数 | 说明 |
---|---|
na_rep | 缺失值 |
columns | 接受list,代表写出的列名 |
index | 是否将行名(索引)写出来,默认True |
index_label | 接收squence,表示索引名,默认是None |
mode | string,代表数据写入模式,默认是w |
1.3读写excel
pd.read_excel(io,sheetname=0,header=0,index_col=None,
names=None,dtype=None)
- names:表示列名,接收array
- dtype:写入数据的类型,接收dict
dataframe.to_excel(excel_writer=None,sheetname='None',
na_rep='',header=True,index=True,
index_label=None,mode='w',
encoding=None)
2. 掌握dataframe常用操作
2.1 基本属性
data=pd.read_excel("path/data.csv")
data.values
data.index
data.columns
data.dtypes
data.size
data.shape
data.ndim
2.2 查改增删dataframe数据
2.2.1 loc 和 iloc访问方式
- loc是针对索引名称的切片方式
- iloc接收的是行索引和列索引的位置
# 单列切片
a=data.loc[:,'名字为此的一列']
a1=data.iloc[:,3]
# 多列切片
b=data.loc[:,['名字是小S','名字是小q']]
b1=data.iloc[:,[1,3]]
data.loc[data['这一列']=='777',['输出这一列','还有这一列']]
loc在行索引传入一个区间的话是闭区间!
loc接收传入表达式,iloc不行
2.2.2 更改/添加/删除dataframe数据
# 更改很简单就是索引玩直接赋值
b=data.loc[:,['名字是小S','名字是小q']]==777
# 添加就是新建一个列然后赋值
data['新建一列']=data['counts']*data['amounts']
# 删除
data.drop(labels,axis=0,level=None,inplace=False,errors='raise')
2.3描述分析dataframe数据
一般使用numpy包进行计算的时候是np.mean(data['这一列'])
,pandas基于numpy,可以data[‘这一列’].mean()。
方法 | 说明 | 方法 | 说明 |
---|---|---|---|
min | - | max | - |
mean | - | ptp | 极差 |
median | 中位数 | std | - |
var | - | cov | 协方差 |
sem | 标准误差 | mode | 众数 |
skew | 样本偏度 | kurt | 峰度 |
quantile | 四分位数 | count | 非空值的数目 |
describe | 描述统计 | mad | 平均绝对离差 |
value_counts | 频数统计 | ||
describe | 描述性统计 |
3. 转换与处理时间序列数据
这块内容暂时先放下,以后再看。学的时候用的R语言操作的时间序列,时间序列的知识水平仅仅止步于Var,Garch,没有更深入的学习。
4.使用分组聚合进行组内计算
目前用不上这个功能,excel能满足我实习期间的任何计算,看了一遍懒得整理了。
5.数据透视表
用excel做吧,或者Tableau。