美文网首页我爱编程
使用python的pandas工具包做数据分析实践初探

使用python的pandas工具包做数据分析实践初探

作者: 小小兰哈哈 | 来源:发表于2018-03-20 17:02 被阅读0次

python有许多使用的工具包,pandas就是其中一种。笔者理解,pandas中的dataframe,series就是针对二维矩阵,一维数组进行数据清洗,排序,存储的数据结构工具。

下面从笔者着手的一个小项目说起。

例如,需要统计一些词在作弊审核过程中的准确性,挑出一些准确率高的词直接拒绝,准确率低的词剔除不用。

首先import pandas as pd

在该项目中,使用pandas做了三个工作,数据存储,数据筛选,数据排序及分析。

其一,数据存储。首先我们需要建立一个如下图的表格,存储如下信息:

示例

其中,percision是该词的作弊准确率,sum是总体送审数,s2为拒绝数。将审核抽样样本download下来之后,统计每个词对应的审核通过数,拒绝数,一轮下来,,每个词对应的presicion就即可计算完毕。

通过 

parray = pd.DataFrame(word_infodict.values(), columns=['word','s2','sum','persicion']),就可建立一张dataframe列表,并通过to_csv函数存储在本地,就可以随时进行数据分析了。

其二,数据筛选

通过parray = pd.read_csv(sys.argv[1] , sep="\t", encoding='utf8')载入数据

筛选出准确率大于0.9的词语,加入拒绝项:

indexs_high = parray[(parray.percision >=0.9) &(parray.precision <= 1) &(parray.sum>=10) ]

准确率小于0.1的词语,加入排除项:

indexs_low = parray[(parray.percision >=0) &(parray.precision <= 0.1) &(parray.sum>=10) ]

然后整理precision属于[0.1 , 0.9]区间的词语,提高准确率。

indexs_mid= parray[(parray.percision >=0.1) &(parray.precision <= 0.9) &(parray.sum>=10) ]

其三,数据排序

对0.1-0.9区间的词语进行整理,根据召回量(sum),准确率(percision)进行排序,再选取word,content值进行review

psubn = indexs_mid.sort_values(by=['sum','percision'],ascending=False)

for index, item in  psubn.iterrows():
     print item['word'], item['contents']

这就是整个过程,项目初试牛刀,以后估计有更多的分享机会,谢谢!

相关文章

网友评论

    本文标题:使用python的pandas工具包做数据分析实践初探

    本文链接:https://www.haomeiwen.com/subject/kmevqftx.html