Python - 叠加 Pandas DataFrame 中的多层列
要叠加多层列,请使用 stack() 方法。首先,导入所需的库 −
import pandas as pd
创建多层列 −
items = pd.MultiIndex.from_tuples([('Maths', 'Mental Maths'),('Maths', 'Discrete Mathematics'),('Maths', 'Applied Mathematics')])
现在,创建一个 DataFrame 并设置我们上面设置的多层列 −
dataFrame = pd.DataFrame([[67, 86, 78], [56, 92, 97], [92, 95, 91]],index=['John', 'Tom', 'Henry'],columns=items)
叠加多层列 −
dataframe.stack()
示例
以下为完整代码 −
import pandas as pd # multi-level columns items = pd.MultiIndex.from_tuples([('Maths', 'Mental Maths'),('Maths', 'Discrete Mathematics'), ('Maths', 'Applied Mathematics')]) # creating a DataFrame dataFrame = pd.DataFrame([[67, 86, 78], [56, 92, 97], [92, 95, 91]],index=['John', 'Tom', 'Henry'],columns=items) # DataFrame print"DataFrame...\n",dataFrame # stack multi-level columns print"\nStacking...\n",dataFrame.stack()
输出
这将生成以下输出 −
DataFrame... Maths Mental Maths Discrete Mathematics Applied Mathematics John 67 86 78 Tom 56 92 97 Henry 92 95 91 Stacking... Maths John Applied Mathematics 78 Discrete Mathematics 86 Mental Maths 67 Tom Applied Mathematics 97 Discrete Mathematics 92 Mental Maths 56 Henry Applied Mathematics 91 Discrete Mathematics 95 Mental Maths 92
广告