Python 如何在pandas中将一列拆分为两列?
我有一个像这样的数据集,我想把它转换成两列Python 如何在pandas中将一列拆分为两列?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个像这样的数据集,我想把它转换成两列 df1 x y z house 0 4.907 1.416 0.663 0 2.114 1.368 0.681 0 1.261 1.374 0.724 1 1.382 1.480 0.767 1 2.764 1.390 0.661 1 1.410 0.941 0.665 2 1.362 1.498 0.775 2 1.303
df1
x y z
house
0 4.907 1.416 0.663
0 2.114 1.368 0.681
0 1.261 1.374 0.724
1 1.382 1.480 0.767
1 2.764 1.390 0.661
1 1.410 0.941 0.665
2 1.362 1.498 0.775
2 1.303 0.786 0.682
2 2.687 1.445 0.675
3 1.341 0.932 0.685
3 1.436 1.450 0.748
3 2.466 1.272 0.686
4 1.299 1.072 0.692
4 1.457 1.504 0.748
4 2.296 1.246 0.663
5 1.390 0.918 0.700
5 1.405 1.587 0.817
5 2.482 1.394 0.656
6 1.445 1.116 0.746
6 2.184 1.474 0.710
6 1.319 1.524 0.722
我想换成这个
House cluster x y z
summer 0 4.907 1.416 0.663
0 2.114 1.368 0.681
0 1.261 1.374 0.724
Autumn 1 1.382 1.480 0.767
1 2.764 1.390 0.661
1 1.410 0.941 0.665
Winter 2 1.362 1.498 0.775
2 1.303 0.786 0.682
2 2.687 1.445 0.675
我试图引用此代码,但它显示了一个错误。我想知道我应该找哪个关键字来查找这个案例
Length mismatch: Expected axis has 15 elements, new values have 3 elements
我相信您需要按列表索引,按列表长度进行模除:
names = ['Summer', 'Autumn', 'Winter', 'Spring']
arr = np.asarray(names)
A.index = pd.MultiIndex.from_arrays([arr[A.index % len(names)], A.index], names=['a','b'])
print (A)
x y z
a b
Summer 0 4.907 1.416 0.663
0 2.114 1.368 0.681
0 1.261 1.374 0.724
Autumn 1 1.382 1.480 0.767
1 2.764 1.390 0.661
1 1.410 0.941 0.665
Winter 2 1.362 1.498 0.775
2 1.303 0.786 0.682
2 2.687 1.445 0.675
Spring 3 1.341 0.932 0.685
3 1.436 1.450 0.748
3 2.466 1.272 0.686
Summer 4 1.299 1.072 0.692
4 1.457 1.504 0.748
4 2.296 1.246 0.663
Autumn 5 1.390 0.918 0.700
5 1.405 1.587 0.817
5 2.482 1.394 0.656
Winter 6 1.445 1.116 0.746
6 2.184 1.474 0.710
6 1.319 1.524 0.722
季节从哪里来?
names = ['Summer', 'Autumn', 'Winter', 'Spring']
arr = np.asarray(names)
A.index = pd.MultiIndex.from_arrays([arr[A.index % len(names)], A.index], names=['a','b'])
print (A)
x y z
a b
Summer 0 4.907 1.416 0.663
0 2.114 1.368 0.681
0 1.261 1.374 0.724
Autumn 1 1.382 1.480 0.767
1 2.764 1.390 0.661
1 1.410 0.941 0.665
Winter 2 1.362 1.498 0.775
2 1.303 0.786 0.682
2 2.687 1.445 0.675
Spring 3 1.341 0.932 0.685
3 1.436 1.450 0.748
3 2.466 1.272 0.686
Summer 4 1.299 1.072 0.692
4 1.457 1.504 0.748
4 2.296 1.246 0.663
Autumn 5 1.390 0.918 0.700
5 1.405 1.587 0.817
5 2.482 1.394 0.656
Winter 6 1.445 1.116 0.746
6 2.184 1.474 0.710
6 1.319 1.524 0.722