汉文有道恩犹薄,湘水无情吊岂知?

大家好,我是皮皮。

一、前言

国庆期间在Python白银交流群【像风自由】问了一个Pandas处理的问题,提问截图如下:


这部分代码有没有优化的空间:假如day天数不固定,pd.concat则也不固定?_Python

代码截图如下:


这部分代码有没有优化的空间:假如day天数不固定,pd.concat则也不固定?_有道_02

他的目标是达到下表这样的效果:


这部分代码有没有优化的空间:假如day天数不固定,pd.concat则也不固定?_Python_03

二、实现过程

出现这么多的数字看上去确实挺难受的,这里【论草莓如何成为冻干莓】给了一个解答,代码如下所示:

import pandas as pd

df = pd.concat(pd.read_excel(r"LT211120Y6_output(1).xlsx", sheet_name=None)).unstack(level=0)
df.columns = df.columns.map(lambda x: '{1}.{0}'.format(x[1].strip('day'), x[0]))
df

运行结果如下图所示:


这部分代码有没有优化的空间:假如day天数不固定,pd.concat则也不固定?_数据挖掘_04

看上去差强人意,已经非常接近预期的效果了。


这部分代码有没有优化的空间:假如day天数不固定,pd.concat则也不固定?_有道_05

后来修改了下代码,如下所示:

import pandas as pd

df = pd.concat(pd.read_excel(r"LT211120Y6_output(1).xlsx", sheet_name=None)).unstack(level=0)
df.columns = df.columns.map(lambda x: '{1}{0}'.format(x[1].strip('day'), x[0]) if x[0] == '血糖时间' else x[0])
df = df[['血糖时间2', '血糖值']].rename(columns={'血糖时间2': '血糖时间'})
df

得到的结果如下所示:


这部分代码有没有优化的空间:假如day天数不固定,pd.concat则也不固定?_Python_06

顺利地解决了粉丝的问题。

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Pandas处理的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。