python分析数据
#coding:utf-8
#file: FileSplit.py
import os,os.path,time
def FileSplit(sourceFile, targetFolder):
sFile = open(sourceFile, 'r')
number = 100000 #每个小文件中保存100000条数据
dataLine = sFile.readline()
tempData = [] #缓存列表
fileNum = 1
if not os.path.isdir(targetFolder): #如果目标目录不存在,则创建
os.mkdir(targetFolder)
while dataLine: #有数据
for row in range(number):
tempData.append(dataLine) #将一行数据添加到列表中
dataLine = sFile.readline()
if not dataLine :
break
tFilename = os.path.join(targetFolder,os.path.split(sourceFile)[1] + str(fileNum) + ".txt")
tFile = open(tFilename, 'a+') #创建小文件
tFile.writelines(tempData) #将列表保存到文件中
tFile.close()
tempData = [] #清空缓存列表
print(tFilename + " 创建于: " + str(time.ctime()))
fileNum += 1 #文件编号
sFile.close()
if __name__ == "__main__" :
FileSplit("access.log","access")
====
#coding:utf-8
#file: Map.py
import os,os.path,re
def Map(sourceFile, targetFolder):
sFile = open(sourceFile, 'r')
dataLine = sFile.readline()
tempData = {} #缓存列表
if not os.path.isdir(targetFolder): #如果目标目录不存在,则创建
os.mkdir(targetFolder)
while dataLine: #有数据
p_re = re.compile(r'(GET|POST)\s(.*?)\sHTTP/1.[01]',re.IGNORECASE) #用正则表达式解析数据
match = p_re.findall(dataLine)
if match:
visitUrl = match[0][1]
if visitUrl in tempData:
tempData[visitUrl] += 1
else:
tempData[visitUrl] = 1
dataLine = sFile.readline() #读入下一行数据
sFile.close()
tList = []
for key,value in sorted(tempData.items(),key = lambda k:k[1],reverse = True):
tList.append(key + " " + str(value) + '\n')
tFilename = os.path.join(targetFolder,os.path.split(sourceFile)[1] + "_map.txt")
tFile = open(tFilename, 'a+') #创建小文件
tFile.writelines(tList) #将列表保存到文件中
tFile.close()
if __name__ == "__main__" :
Map("access\\access.log1.txt","access")
Map("access\\access.log2.txt","access")
Map("access\\access.log3.txt","access")
==
#coding:utf-8
#file: Rece.py
import os,os.path,re
def Rece(sourceFolder, targetFile):
tempData = {} #缓存列表
p_re = re.compile(r'(.*?)(\d{1,}$)',re.IGNORECASE) #用正则表达式解析数据
for root,dirs,files in os.walk(sourceFolder):
for fil in files:
if fil.endswith('_map.txt'): #是rece文件
sFile = open(os.path.abspath(os.path.join(root,fil)), 'r')
dataLine = sFile.readline()
while dataLine: #有数据
subdata = p_re.findall(dataLine) #用空格分割数据
#print(subdata[0][0]," ",subdata[0][1])
if subdata[0][0] in tempData:
tempData[subdata[0][0]] += int(subdata[0][1])
else:
tempData[subdata[0][0]] = int(subdata[0][1])
dataLine = sFile.readline() #读入下一行数据
sFile.close()
tList = []
for key,value in sorted(tempData.items(),key = lambda k:k[1],reverse = True):
tList.append(key + " " + str(value) + '\n')
tFilename = os.path.join(sourceFolder,targetFile + "_rece.txt")
tFile = open(tFilename, 'a+') #创建小文件
tFile.writelines(tList) #将列表保存到文件中
tFile.close()
if __name__ == "__main__" :
Rece("access","access")
B. python分析文件中的数据
#-*-coding:gb2312-*-
importjson
defread_txt_high(filename):
withopen(filename,'r')asfile_to_read:
list0=[]#文件中的第一列数据
list1=[]#文件中的第二列数据
whileTrue:
lines=file_to_read.readline()#整行读取数据
ifnotlines:
break
item=[iforiinlines.split()]
data0=json.loads(item[0])#每行第一个值
data1=json.loads(item[1])#每行第二个值
list0.append(data0)
list1.append(data1)
returnlist0,list1
C. python可以做哪些数据分析
1、检查数据表
Python中使用shape函数来查看数据表的维度,也就是行数和列数。你可以使用info函数查看数据表的整体信息,使用dtypes函数来返回数据格式。Isnull是Python中检验空值的函数,你可以对整个数据表进行检查,也可以单独对某一列进行空值检查,返回的结果是逻辑值,包含空值返回True,不包含则返回False。使用unique函数查看唯一值,使用Values函数用来查看数据表中的数值。
2、数据表清洗
Python中处理空值的方法比较灵活,可以使用Dropna函数用来删除数据表中包含空值的数据,也可以使用fillna函数对空值进行填充。Python中dtype是查看数据格式的函数,与之对应的是astype函数,用来更改数据格式,Rename是更改列名称的函数,drop_plicates函数删除重复值,replace函数实现数据替换。
3、数据预处理
数据预处理是对清洗完的数据进行整理以便后期的统计和分析工作,主要包括数据表的合并、排序、数值分列、数据分组及标记等工作。在Python中可以使用merge函数对两个数据表进行合并,合并的方式为inner,此外还有left、right和outer方式。使用ort_values函数和sort_index函数完成排序,使用where函数完成数据分组,使用split函数实现分列。
4、数据提取
主要是使用三个函数:loc、iloc和ix,其中loc函数按标签值进行提取,iloc按位置进行提取,ix可以同时按标签和位置进行提取。除了按标签和位置提起数据以外,还可以按具体的条件进行数据,比如使用loc和isin两个函数配合使用,按指定条件对数据进行提取。
5、数据筛选汇总
Python中使用loc函数配合筛选条件来完成筛选功能,配合sum和 count函数还能实现excel中sumif和countif函数的功能。Python中使用的主要函数是groupby和pivot_table。groupby是进行分类汇总的函数,使用方法很简单,制定要分组的列名称就可以,也可以同时制定多个列名称,groupby 按列名称出现的顺序进行分组。
D. python有哪些数据分析和数据展现的模块可以用
ipython:只是个notebook,但是很好用。。。
numpy
scipy :
pandas
matplotlib: python画图
nltk, gensim:nlp
statsmodels: 各种模型
scikit-learn: machine learning模块,很全
E. 利用python实现数据分析
利用python实现数据分析
为什么要利用python进行数据分析?python拥有一个巨大的活跃的科学计算社区,拥有不断改良的库,能够轻松的集成C,C++,Fortran代码(Cython项目),可以同时用于研究和原型的构建以及生产系统的构建。
1:文件内容格式为json的数据如何解析
import json,os,sys
current_dir=os.path.abspath(".")
filename=[file for file in os.listdir(current_dir) if ".txt" in file]#得到当前目录中,后缀为.txt的数据文件
fn=filename[0] if len(filename)==1 else "" #从list中取出第一个文件名
if fn: # means we got a valid filename
fd=open(fn)
content=[json.loads(line) for line in fd]
else:
print("no txt file in current directory")
sys.exit(1)
for linedict in content:
for key,value in linedict.items():
print(key,value)
print("n")
2:出现频率统计
import random
from collections import Counter
fruits=[random.choice(["apple","cherry","orange","pear","watermelon","banana"]) for i in range(20)]
print(fruits) #查看所有水果出现的次数
cover_fruits=Counter(fruits)
for fruit,times in cover_fruits.most_common(3):
print(fruit,times)
########运行结果如下:apple在fruits里出了5次
apple 5
banana 4
pear 4
3:重新加载mole的方法py3
import importlib
import.reload(molename)
4:pylab中包含了哪些mole
from pylab import *
等效于下面的导入语句:
from pylab import *
from numpy import *
from scipy import *
import matplotlib
F. python数据分析有什么用
Python的语法简单复,代码可读性高,容易制入门,有利于初学者学习;当我们进行数据处理的时候,我们希望将数据变得数值化,变成计算机可以运作的数字形式,我们可以直接使用一行列表推导式完成,十分简单。
Python在数据分析和交互、探索性计算以及数据可视化等方面都有非常成熟的库和活跃的社区,让Python成为数据任务处理重要解决方案。在数据处理和分析方面,Python拥有numpy、pandas、matplotlib、scikit-learn、ipython等优秀的库以及工具,尤其是pandas在处理数据方面有着绝对优势。
Python拥有强大的通用编程能力,有别于R语言,Python不仅在数据分析方面能力强大,在爬虫、WEB、自动化运维甚至于游戏等领域都有非常不错的作用,公司只需要使用一种技术就可以完成全部服务,有利于业务融合,也可以提高工作效率。
Python是人工智能首选的编程语言,在人工智能时代,Python成为最受欢迎的编程语言。得益于Python简洁、丰富的库和社区,大部分深度学习框架都优先支持Python语言。
G. 如何用python进行数据分析
1、Python数据分析流程及学习路径
数据分析的流程概括起来主要是:读写、处理计算、分析建模和可视化四个部分。在不同的步骤中会用到不同的Python工具。每一步的主题也包含众多内容。
根据每个部分需要用到的工具,Python数据分析的学习路径如下:
相关推荐:《Python入门教程》
2、利用Python读写数据
Python读写数据,主要包括以下内容:
我们以一小段代码来看:
可见,仅需简短的两三行代码即可实现Python读入EXCEL文件。
3、利用Python处理和计算数据
在第一步和第二步,我们主要使用的是Python的工具库NumPy和pandas。其中,NumPy主要用于矢量化的科学计算,pandas主要用于表型数据处理。
4、利用Python分析建模
在分析和建模方面,主要包括Statsmdels和Scikit-learn两个库。
Statsmodels允许用户浏览数据,估计统计模型和执行统计测试。可以为不同类型的数据和每个估算器提供广泛的描述性统计,统计测试,绘图函数和结果统计列表。
Scikit-leran则是著名的机器学习库,可以迅速使用各类机器学习算法。
5、利用Python数据可视化
数据可视化是数据工作中的一项重要内容,它可以辅助分析也可以展示结果。
H. 怎样用 Python 进行数据分析
做数据分析,首先你要知道有哪些数据分析的方法,然后才是用Python去调用这些方法
那Python有哪些库类是能做数据分析的,很多,pandas,sklearn等等
所以你首先要装一个anaconda套件,它包含了几乎所有的Python数据分析工具,
之后再学怎么分析。