详细代码和数据(part02/python文本分析/news_sougou)可以查看这个:https://github.com/HappyZXY/machineLearning
数据源:
http://www.sogou.com/labs/resource/ca.php
来自若干新闻站点2012年6月-----7月期间国内、国际、体育、社会、娱乐等18个频道的新闻算数据,提供url和正文信息
格式说明:
数据格式为
<doc>
<url>页面URL<url>
<docno>页面ID</docno>
<contenttitle>页面标题</contenttitle>
<content>页面标题</content>
</doc>
注:content字段是去除了HTML标签,保存的是新闻正文文本
panda速查手册
1 #数据读取与导出 2 import pandas as pd 3 import numpy as np 4 pd.read_csv(filename,sep='')#从csv文件导入数据 5 pd.read_csv(filename,sep='',header=none)#导入没有头的文件 6 #构造DataFrame数据 7 df=pd.DataFrame([[1,2,3],[4,5,6]],columns=['f1','f2','f3']) 8 9 #导出数据 10 df.to_csv(filename,index=False) 11 12 #数据查看 13 df.head(n)#查看数据的前n行 14 df.tail(n)#查看DataFrame对象的最后n行 15 df.shape()#查看行数和列数 16 df.info()#查看索引、数据类型和内存信息 17 df.describe()# 查看数值型列的汇总统计 18 s=df['user_id']#根据列名以Serise的形式返回列 19 df[['user_id','item_id']]#以DataFrame形式返回多列 20 s.iloc['index_one']#按索引选取 数据 21 df.iloc[0,:]#返回第一行 22 df.iloc[0,0]#返回第一列的第一个元素 23 df.sample(frac=0.5)#采样 24 25 #数据整理 26 pd.isnull()#检查DataFrame对象中的控制,并返回一个Boolean数组 27 df.dropna(axis=0)#删除所有包含空值的行 28 df.dropna(axis=1)#删除所有包含空值的列 29 df.dropna(axis=1,thresh=n)#删除所有小于n个非空值的行 30 df.fillna(x)#用x替换DataFrame对象中的所有的空值 31 df.fillna(df.median)#中位数填充 32 s.replace(1,'one')#用'one'代替所有等于1的值 33 df.columns= ['a','b','c']#重命名列名 34 df.rename(columns=lambda x:x+1)#批量重命名列名 35 df.rename(index=lambda x:x+1 )#批量重命名索引 36 37 #数据处理 38 df[df[col]>0.5]#选择col列的值大于0.5的行 39 df.sort_values(by='col',ascending=True)#按照列col排序数据,默认升序排序 40 41 #数据合并 42 df1.append(df2)#将df2中的行添加到df1的尾部 43 pd.concat([df1,df2],axis=1)#按列合并 44 pd.concat([df1,df2],axis=0)#按行合并 45 46 df.corr()#返回所有列与列之间的相关系数 47 df.count()#返回每一列中的非空值的个数 48 df.dtypes()#查看数据类型 49 df['uesr_id'].hist()#查看变量分布 50 df.isnull().sum()#查看每一列缺失值的情况 51 df['user_id'].unique()#查看数据取值 52 53 54 a.sort_index(axis=1,ascending=False)#axis=1表示对所有的columns进行排序 55 a.sort(column='x')#对DataFrame中的值进行排序 56 选取对象 57 a['x']#选取特定的列, 58 选取行数据,通过切片[]来选择 59 a[0:3]#选取前三行的数据 60 61 loc是通过 行标签来选择数据 62 iloc通过行号索引行数据 63 ix通过行标签或者行号索引行数据(基于loc和iloc的混合) 64 a.loc['one'] #默认表示选取行为'one'的行 65 a.loc[:,'a','b']表示选取所有行以及columns为a,b的列 66 a.loc[['one','two'],['a','b']]表示选取‘one’和‘two’这两行以及columns为ab的列 67 a.loc[0]表示选取第一行的数据 68 69 条件选择 70 a[a.c>0]表示选择c列中大于0 的数据 71 赋值 72 a.loc[:,['a','c']=9 即将a和c列的所有行中的值设置为9 73 74 a.dropna(how='any')表示去掉包含缺失值的行 75 a.fillna(value=x) 表示用值为x 的数来对缺失值 进行填充 76 77 统计某一列x中格格之出现的次数 a['x'].value_counts() 78 79 对数据应用函数 a.apply(lambda x :x.max()-x.mnin())表示 返回所有列中最大值-最小值的差