读取数据,文件加载和存储
读取数据并创建名为data的数据表
data=pd.DataFrame(pd.read_csv('LDA_data.csv'))
没有表头
name=['id','gender']
user=pd.read_table('uer.dat',sep='::'【分隔符】,header=None【是否有表头】, names=names【表头名】)```
user是一个DataFrame
>其他部分见pandas部分
#测试代码执行时间
在语句前添加%timeit
#类的使用
#Numpy
ndarray 是一个具有矢量算数和复杂广播能力的快速且节省空间的多维数组,
无需编写循环,快速运算
用于读写磁盘数据的工具
线性代数和随机数生产
np=np.array(data)
data可以是一切序列型的对象如列表,元素,字典
类型转换:float_arr=arr.astype(np.float64
数组切片
【【1,2,3】,【4,5,6】】
用,隔开的索引列表来取单个元素【0,2】或【0】【2】=》3
多轴切片:【行切片,列切片】 a:b表示下标从a到b, : 表示全部,a表示单一一行或一列
数组转置arr.T进行轴变换
计算矩阵内积np.dot(arr.T,arr)
元素级数组函数
一元的函数:abs:绝对值、sqrt平方根、exp、log/sin/cos
二元函数:add,multiply两个数组元素相乘,power两个数组中元素对应的A^B
PANDAS
from pandas import Series,DataFrame
Serise是一种类似于一维数组的对象,包括一组数据(Numpy中的数据类型)相关的数据标签构成的索引(自动或指定)分别是 .valuse 和 .index
可视为一种字典
Dataframe
data={'name':[]
'year}:['sfee','sfe']
frame=DataFrame(data)
参数:DataFrme(data,columns=[ ],index=[ ])
取属性:frame['属性名’]
使用索引字段,取行:frame.ix['3']
取两列:data=[['three','one']]
axis为简约的周,DataFrame中的行用0,列用1
值计数value_counts 用于计算一个Series中各值出现的频率
pandas中的数据加载,存储和文件
分类:
-读取文本文件,磁盘存储格式
-加载数据库中数据
-利用web api操作网络资源
函数:read_csv(默认逗号为分隔)、read_table(默认制表符为分隔)指定分隔:sep=','
函数参数分类:
-索引讲一个或多个列当做返回的DataFrame处理,以及是否从文件,用户获得列名
-类型数据转换:自定义值转换,缺失值标记
-迭代:支持对大文件的逐块迭代,
-不规整数据:跳过行,页脚,注释
绘图和可视化
引入:importmatpoltlib.pyplot as plt
其他补充
内置序列函数
1、enumerate:在对一个序列迭代时,常常需要跟踪当前想的索引。使用enumerate函数,可以诸葛返回序列的(i,value)元组
eg:for i ,value in enumerate(collection):
其中i 即为索引标
some_list=[.....]
mapping=dict((i,v)for i,v in enumerate(some_list))
将一个列表映射到一个字典中
字典
是Python中最终要的内置数据结构,更常见的一个名字叫做哈希映射,是由键-值对构成,
其中键值分别都是python对象。
使用dict函数直接处理二元元组列表,代替DIY出的循环
mapping = dict(zip (range(5),reversed(range(5)))
setdefault方法:默认值