利用Pandas对数据进行处理
2018-06-04 12:37
411 查看
Pandas数据处理
现有一数据集Data.out,通过Pandas提取数据并绘制曲线。提取内容下图所示:
工具:Pycharm,Python2.7,Pandas,Numpy,matplotlib
#导入所需要库
import pandas as pd import numpy as np import re import matplotlib as mpl import matplotlib.pyplot as plt#使用pandas.read.fwf()读取定宽列格式数据Data = pd.read_fwf('Data.out')#使用to.csv()保存DataFrame文件以利于观察和查看Data.to_csv('CreatData.txt', sep=',')
List_all = [] #定义所有情况的集合 List_need=[]#定义所需的列表 #提取==data==01-set、==data==02-set、==data==03-set对应的行数 for i in range(Data.ix[:,0].size): if re.search('==',str(Data.ix[[i]].values[0][0])) !=None: List_all.append(i) #定义所需的字符列表 List_Tab_need = ['02-set'] #提取字符列表对应的行数 for i in range(Data.ix[:, 0].size): for j in range(len(List_Tab_need)): if re.search(List_Tab_need[j], str(Data.ix[[i]].values[0][0])) != None: List_need.append(i) List_and=[i for i in range(len(List_all)) if List_all[i] in List_need] #提取x,y并绘制曲线 def y_x(List_all): y=[]#定义y空列表 x=[]#定义x空列表 a=List_all[List_and[0]]+5 b=List_all[List_and[0]+1]-1 Taking_x_rst=Data.iloc[a:b,0] for i in range((Taking_x_rst.size/2)): a0=a+2*i #y数据 y.append(float(Data.iloc[a0,0].split()[0])) for i in range((Taking_x_rst.size/2)): b0=a+1+2*i if len(Data.iloc[b0,0].split())==5: x.append(float(Data.iloc[b0,0].split()[3].split('/')[1])) else: x.append(float(Data.iloc[b0,0].split()[4])) ny=np.array(y) dx=np.array([1/i for i in x]) #绘制曲线 plt.figure(facecolor="w",figsize=(3,4)) plt.plot(dx,ny,"--",label=u"y-x",color="red",linewidth=3) plt.title(u"*_y-x_*",fontsize=15) plt.xlabel(u"x",fontsize=20) plt.ylabel(u"y",fontsize=20) plt.xlim((0,max(dx))) plt.ylim((0,ny[0])) plt.legend() plt.savefig(u"y-x")#保存图片 plt.show() y_x(List_all)
代码地址:https://github.com/jz20170904/Pandas-data/tree/master
相关文章推荐
- 利用Python进行数据分析 pandas基础: 处理缺失数据
- 利用python进行数据分析(三):pandas--处理数据的工具
- 利用Python进行数据分析(10) pandas基础: 处理缺失数据
- 利用Python进行数据分析(10) pandas基础: 处理缺失数据
- 利用Pandas进行数据分析(3)——统计、处理缺失值、层次化索引
- 利用python进行数据分析——之数据结构pandas(一)
- 利用 Python 进行数据分析(八)pandas 基本操作(Series 和 DataFrame)
- 利用FFmpeg对火眼一体摄像机的回调数据进行处理:YUV转H264,H264封装flv,所有输入都是在内存中。
- 利用Python进行数据分析(11) pandas基础: 层次化索引
- 利用Python进行数据分析(五)之pandas入门
- 利用python进行数据分析-pandas入门3
- 利用Python进行数据分析(12) pandas基础: 数据合并
- 利用 Python 进行数据分析(十二)pandas:数据合并
- 利用pandas进行大文件计数处理的方法
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
- 利用Python进行数据分析(15) pandas基础: 字符串操作
- 利用java jdbc从hive提取日志数据进行简单处理
- mysql 利用自增数据项的方法,对同一个表有某种关联的数据进行处理。(利用增加一项的方法)
- 利用 Python 进行数据分析(七)pandas 简单介绍(Series 和 DataFrame)
- 利用python进行数据分析之pandas库的应用(二)