2024-04-27 00:56:06 发布
网友
上面是我的数据帧,我希望把这个放在头上
有人知道吗?你知道吗
您可以使用:
a = ['201701', '', '201705', '', '201707'] b = ['PHI', 'Actual', 'Actual', 'PHI', 'Actual'] data = [[np.nan, np.nan, np.nan, 8, np.nan]] df = pd.DataFrame(data, index=['ClassCold'], columns = pd.MultiIndex.from_arrays([a,b])) print (df.columns) MultiIndex(levels=[['', '201701', '201705', '201707'], ['Actual', 'PHI']], labels=[[1, 0, 2, 0, 3], [1, 0, 0, 1, 0]]) print (df) 201701 201705 201707 PHI Actual Actual PHI Actual ClassCold NaN NaN NaN 8 NaN
通过^{}获取MultiIndex的第一级,通过^{}转换为Series,通过^{}向前填充NaN的空字符串(或空格)。你知道吗
MultiIndex
Series
NaN
上次新建MultiIndex^{}:
a = df.columns.get_level_values(0).to_series().replace('',np.nan).ffill() df.columns = df.columns = pd.MultiIndex.from_arrays([a, df.columns.get_level_values(1)]) print (df) 201701 201705 201707 PHI Actual Actual PHI Actual ClassCold NaN NaN NaN 8 NaN print (df.columns) MultiIndex(levels=[['201701', '201705', '201707'], ['Actual', 'PHI']], labels=[[0, 0, 1, 1, 2], [1, 0, 0, 1, 0]])
您可以使用:
通过^{} 获取} 转换为} 向前填充
MultiIndex
的第一级,通过^{Series
,通过^{NaN
的空字符串(或空格)。你知道吗上次新建} :
MultiIndex
^{相关问题 更多 >
编程相关推荐