本文将介绍如何使用Python读取文本数据并绘制分布图。主要内容包括:数据读取、数据清洗、数据可视化三个方面。
一、数据读取
使用Python读取文本数据,需要使用Python自带的文件读取函数——open()。
filename = 'data.txt'
with open(filename) as f:
lines = f.readlines()
其中,filename为要读取的文件名,'data.txt'为例。在新版本的Python中,使用with语句可以自动关闭文件。
读取文件后,可以使用Python的字符串操作函数对数据进行分割和处理。常见的字符串操作函数有split()和strip()函数。
for line in lines:
fields = line.strip().split(',')
如上代码,使用strip()函数去除字符串前后的空格,使用split(',')函数将字符串按照逗号进行分割。可以得到一个fields列表,里面存放每个字段的值。
二、数据清洗
读取到的数据可能需要进行一些清洗工作,比如去除无用数据、填充缺失值等。
比如,我们读取的数据包含多个属性,但是有些属性对于分析是无意义的。可以使用Python中的列表操作,将无用数据删除。
for line in lines:
fields = line.strip().split(',')
del fields[2] # 删除第三个属性
如果数据中存在缺失值,可以使用Python中的条件语句进行判断和填充。
for line in lines:
fields = line.strip().split(',')
if fields[3] == '':
fields[3] = '0' # 将缺失值填充为0
三、数据可视化
使用Python的Matplotlib库能够实现数据的可视化。其中,pyplot模块可以绘制各种图形。
比如,可以使用pyplot的hist()函数绘制直方图。
import matplotlib.pyplot as plt
data = [118,109,100,99,86,85,85,78,72,69,63,56,54,50,49,48,46,43,41,41]
plt.hist(data, bins=5)
如上代码,使用Matplotlib中的pyplot模块绘制直方图。其中data为要绘制的数据,bins为分布的区间数。
除此之外,pyplot还可以绘制散点图、折线图等各种图形。
四、总结
通过本文的介绍,我们了解了如何使用Python读取文本数据并进行数据清洗和可视化。在实际工作中,这些技能是非常实用的。