2024-03-29 06:57:46 发布
网友
我从excel导入的数据已经用Pandas中的时间戳列进行了多索引。我想把剩下的列放入它们各自的层次组中。频段列(7列:δ、θ、α、β、高β、γ)位于标记为“EMG”的层次列下,生物测量(2列:“心率变异性”和“GSR”)位于“生物反馈”下。你知道吗
有直截了当的方法吗?你知道吗
第二部分是,如何在不展平第一部分中创建的层次结构的情况下,将单层数据帧附加到这个多索引层次数据帧上?你知道吗
您可以创建^{}然后^{}:
cols = ['delta','theta','alpha','beta','Heart Rate Variabilty','high beta', 'gamma','GSR'] df = pd.DataFrame([[4,5,8,3,1,0,9,2]], columns=cols) print (df) delta theta alpha beta Heart Rate Variabilty high beta gamma GSR 0 4 5 8 3 1 0 9 2 c1 = ['delta', 'theta', 'alpha', 'beta','high beta', 'gamma'] c2 = ['Heart Rate Variabilty', 'GSR'] mux = pd.MultiIndex.from_arrays([ ['EMG'] * len(c1) + ['Biofeedback'] * len(c2),c1 + c2]) print (mux) MultiIndex(levels=[['Biofeedback', 'EMG'], ['GSR', 'Heart Rate Variabilty', 'alpha', 'beta', 'delta', 'gamma', 'high beta', 'theta']], labels=[[1, 1, 1, 1, 1, 1, 0, 0], [4, 7, 2, 3, 6, 5, 1, 0]]) df = df.reindex(columns=mux, level=1) print (df) EMG Biofeedback delta theta alpha beta high beta gamma Heart Rate Variabilty GSR 0 4 5 8 3 0 9 1 2
按注释编辑:
感谢您提供最终解决方案OP:
df1.columns = pd.MultiIndex.from_tuples([(c, '', '') for c in df1]) df = pd.concat([df, df1], axis=1)
您可以创建^{} 然后^{} :
按注释编辑:
感谢您提供最终解决方案OP:
相关问题 更多 >
编程相关推荐