python数据分析教程百度云资源,利用python进行数据分析网盘

  python数据分析教程百度云资源,利用python进行数据分析网盘

  你好。关于Python数据分析工具我讲了很多,我想一直关注它的读者一定不知道熊猫、NumPy、Matplotlib的各种操作。今天,我们将学习如何在Python中使用简单数据进行数据分析。本文主要涉及以下三个部分。

  熊猫数据处理

  映射图

  使用pyinstaller将py文件打包为exe。

  虽然文中用到的数据(药)在平时的工作学习中不会出现,但是数据导入、缺失值处理、数据重载、计算、汇总、可视化、导出等处理过程非常重要,是程序打包后的重复性工作。

  和数据要求。

  今天分享的案例来自著名的实验细胞计数试剂盒-8。首先看原始数据:

  我们需要完成四项主要任务:

  从每组的所有重复中删除最大值和最小值。

  所有数据将根据D0的相应组进行标准化。

  计算每组数据的平均值和标准差的表格:平均值汇总表和平均值-标准差汇总表。

  画一个折线图

  因此,在桌面上创建一个名为data的文件夹,放入原始数据data.xlsx,然后运行程序。文件夹中应该添加三个文件。

  这三份文件是我们需要的结果。

  抽象平均值

  平均标准偏差汇总

  折线图

  然后,我来解释一下如何实现。

  代码实现

  首先导入库,然后调用函数获取桌面文件夹路径并全局写入。

  importpandasaspd

  importmatplotlib.pyplotasplt

  投入

  随机导入

  defGetDesktopPath():

  返回OS . path . join(OS . path . expand user(),(Desktop))).

  path=GetDesktopPath (()/data/).

  读取原始数据并删除缺失值。

  dat=PD.read _ excel(路径 data.xlsx ),

  sheet_name=0

  首席=无,

  索引_列=0)

  dat=dat.dropna(how=any ,axis=0))).

  得到重复次数,组数,天数。原始数据有6天,5组,5个重复。这三个数据可以直接使用,但在以后的实验中可能会有所改变。最好不要写死,这样代码可以重用。

  获取#组数

  ngroup=dat.index.value_counts()。形状[0]

  得到#行数,即重复次数。

  nrep=dat.shape[1]

  #获取天数(操作的批次号),即总行数除以组数,最后的除法是返回int。

  nd=dat.shape[0]//ngroup

  消除最大值和最小值。这里的解决方案是按升序排序,删除第一个和最后一个数据,这可以通过apply lambda来处理。

  df=dat . apply(x:sorted(x)[1:nrep-1],axis=1))

  df=df.to_frame(name=total ).

  对于范围(nrep-2):

  df[f“{ I 1 }”]=df[合计]。str[i]

  df.drop(columns=[total],inplace=True).

  按匿名函数排序返回系列的升序列表。它必须转换成DataFrame,拆分成三列,最后删除原来的列并返回。于是,就有了上面的代码。

  在“常规”列中添加组信息和批次信息,以便以后创建汇总表。

  df[group]=df.index

  day_lst=[]

  范围(nd):

  day_lst.append(fday{I})

  #用列表导出公式重复列表中的元素以添加新列。

  df [ day ]=[范围内的第一天(n组)]

  效果如下。

  如果按照D0组的平均值对所有数据进行标准化,可以简单理解为除两个极值外,计算DO批的五组平均值,D0对应组的平均值由这五个批的五组排除)

  如果按照#组的个数检索D0中的所有行,并且对每一行进行平均,那么文本信息将被自动忽略。

  平均值l

  st=df.iloc[0:ngroup,]。平均值(轴=1)。tolist()

  #因为下一步是逐行迭代,索引的分组信息有新的一列来表示,所以这里重置索引便于迭代。

  df.reset_index(drop=True,inplace=True)

  #迭代的内容看起来很复杂,其实并不难。

  #本质上是将迭代线的数据和D0对应的分组均值相除。

  对于index,iindf.iterrows():

  df.iloc[index,0:nrep-2]=I[0:nrep-2]/mean _ lst[index % n group]

  标准化后,可以得到平均值和标准差。

  #同样,mean和std都忽略非数字列。

  #谨慎使用df [mean]=df.iloc [:0: nrep-2]。平均值(轴=1)

  df[mean]=df.mean(轴=1)

  df[std]=df.std(轴=1)

  #获取最后四列

  results=df.iloc[:-4:]

  制作数据透视表并将其导出。

  #使用四舍五入保留4位有效数字

  tb1=pd.pivot_table(数据=结果,

  index=group ,

  列=天,

  values=mean )。回合(4)

  tb2=pd.pivot_table(数据=结果,

  index=group ,

  列=天,

  values=[均值,标准差])。回合(4)

  tb1.to_excel(路径/结果(平均值))。xlsx ,

  index=True,

  header=True)

  tb2.to_excel(路径/结果(平均值标准偏差))。xlsx ,

  index=True,

  header=True)

  Jupyter Notebook中呈现的结果如下,Excel中呈现的结果如本文开头所示。

  使用matplotlib绘制并添加两个细节。如果你想在Jupyter笔记本上画画,你需要添加下面的代码

  %matplotlibinline

  如果有需要呈现的汉字,也需要用代码设置。

  PLT . RC params[ font . sans-serif ]=[ sim hei ]

  汇总表的索引(组名)可以作为图像的标签。虚线上的颜色和标记图案的测量是随机抽样,不按所需数量更换。

  group_lst=tb1.index.tolist()

  colors=[b , g , r , c , m , y]

  color_lst=random.sample(颜色,ngroup)

  标记=[ . ,,,o,v,^,,

  1 , 2 , 3 , 4 , s , p , * , H , , x , D , d]

  marker _ lst=random . sample(markers,ngroup)

  最后一个绘图代码:

  #设置画布大小

  plt.figure(figsize=(8,5))

  foriinrange(ngroup):

  plt.plot(tb1.iloc[i,]。tolist(),

  f { color _ lst[I]} { marker _ lst[I]}-,lw=2)

  plt.xticks(range(0,nd),day_lst,fontsize=18)

  plt.ylabel(RelativeCellAmount ,fontsize=18)

  plt.legend(group_lst,loc=best ,fontsize=12)

  #让图像的显示分布正常

  plt.tight_layout()

  # Save必须在调用show之前。

  Plt.savefig(路径/折线图. png )

  plt.show()

  Exe包

  首先,在命令行上用pip安装pyinstaller。

  管道安装程序

  将完整的代码保存为py文件,这里我保存为cck8.py,然后放在桌面的data文件夹中,然后打开命令行,cd进入文件夹,然后调用第二行命令编译成exe。

  cdC:\Users\chenx\Desktop\data

  py installer-one file-clean CCK 8 . py

  当然,第二行的命令可以自定义,比如添加图标等。这里就不介绍了。有兴趣的可以自己探索。

  【编辑推荐】

  [责任编辑:魏丽艳电话:(010) 68476606]

  0赞赞

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: