加入收藏 | 设为首页 | 会员中心 | 我要投稿 揭阳站长网 (https://www.0663zz.cn/)- 机器学习、行业智能、决策智能、云计算、AI应用!
当前位置: 首页 > 大数据 > 正文

实战|Python数据详解可视化并打包

发布时间:2021-06-05 10:09:20 所属栏目:大数据 来源:未知
导读:数据与需求说明 今天分享的案例来源于一个著名的实验Cell Counting Kit-8。首先我们来看下原始数据: 实战|Python数据分析可视化并打包 我们需要完成的工作主要有四块: 去除各组所有重复中的最大值和最小值 所有数据根据D0的对应分组进行标准化 计算各组数
数据与需求说明
今天分享的案例来源于一个著名的实验Cell Counting Kit-8。首先我们来看下原始数据:
实战|Python数据分析可视化并打包
我们需要完成的工作主要有四块:
去除各组所有重复中的最大值和最小值
所有数据根据D0的对应分组进行标准化
计算各组数据的均值和标准差表格:均值汇总表和均值-标准差汇总表
 绘制折线图
所以我们需要的结果应该是:在自己的桌面上建一个文件夹命名data,将原始数据data.xlsx放进去,之后运行完程序后文件夹会新增3个文件:
实战|Python数据分析可视化并打包
而这三个文件就是我们需要的结果
均值汇总表
实战|Python数据分析可视化并打包
均值-标准差汇总表
实战|Python数据分析可视化并打包
折线图
实战|Python数据分析可视化并打包
现在我们就来讲解如何实现。
代码实现
首先导入库并调用函数获取桌面文件夹路径并写在全局
import pandas as pd 
import matplotlib.pyplot as plt 
import os 
import random 
def GetDesktopPath(): 
    return os.path.join(os.path.expanduser("~"), 'Desktop') 
 
path = GetDesktopPath() + '/data/' 
导入原始数据并去除缺失值
dat = pd.read_excel(path + 'data.xlsx', 
                    sheet_name=0, 
                    header=None, 
                    index_col=0) 
dat = dat.dropna(how='any', axis=0) 
实战|Python数据分析可视化并打包
获取重复次数,分组个数和天数。原始数据有6天、5组、5次重复,虽然也可以直接使用这三个数据,但以后的实验这三个可能会更改,为了让代码能够复用,最好不要写死
# 获取分组个数 
ngroup = dat.index.value_counts().shape[0] 
# 获取列数即重复次数 
nrep = dat.shape[1] 
# 获取天数(操作的批次数)即用总行数除以组数,用整除是为了返回int 
nd = dat.shape[0] // ngroup 
去掉极大值和极小值。这里用的解决办法是逐行升序排序,然后去掉第一个和最后一个数据,可以用apply+lambda处理
df = dat.apply(lambda x: sorted(x)[1:nrep - 1], axis=1) 
 
df = df.to_frame(name='total') 
for i in range(nrep - 2): 
    df[f'{i + 1}'] = df['total'].str[i] 
 
df.drop(columns=['total'], inplace=True) 
用匿名函数排序返回的是Series的升序列表,须有转换回DataFrame再拆成三列,最后去掉原来返回那一列即可。因此有了如上代码
实战|Python数据分析可视化并打包
在常规列中添加分组信息和批次信息,便于后续做汇总表
df['group'] = df.index 
 
day_lst = [] 
for i in range(nd): 
    day_lst.append(f'Day{i}') 
# 用列表推导式做列表内元素重复并添加新列 
df['day'] = [i for i in day_lst for _ in range(ngroup)] 
效果如图:
实战|Python数据分析可视化并打包
根据D0的各组均值对所有数据标准化,可以简单理解为DO批次5个组去除两个极值后各求平均值,这5个批次的5个组各自除于D0对应组的均值)

(编辑:揭阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读