将多级列添加到单级 pandas 数据框
Adding a multi-level column to a single-level pandas dataframe
我有一个单级 pandas 数据框:
df = pd.DataFrame({"x":[0,0,0],"y":[0,0,0]})
看起来像这样:
x y
0 0 0
1 0 0
2 0 0
现在我想向这个数据框添加一个多级列“z”(有两个子列“z1 和”z2),所以它看起来像这样:
x y z
z1 z2
0 0 0 1 2
1 0 0 1 2
2 0 0 1 2
首先我们让现有的列多索引:
df.columns = pd.MultiIndex.from_arrays([df.columns,['']*len(df.columns)])
然后添加由元组索引的新的
df[('z','z1')] = [1,1,1]
df[('z','z2')] = [2,2,2]
df
获得
x y z
z1 z2
0 0 0 1 2
1 0 0 1 2
2 0 0 1 2
我有一个单级 pandas 数据框:
df = pd.DataFrame({"x":[0,0,0],"y":[0,0,0]})
看起来像这样:
x y
0 0 0
1 0 0
2 0 0
现在我想向这个数据框添加一个多级列“z”(有两个子列“z1 和”z2),所以它看起来像这样:
x y z
z1 z2
0 0 0 1 2
1 0 0 1 2
2 0 0 1 2
首先我们让现有的列多索引:
df.columns = pd.MultiIndex.from_arrays([df.columns,['']*len(df.columns)])
然后添加由元组索引的新的
df[('z','z1')] = [1,1,1]
df[('z','z2')] = [2,2,2]
df
获得
x y z
z1 z2
0 0 0 1 2
1 0 0 1 2
2 0 0 1 2