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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。