Python 在同一数据帧中合并列
我有4列的数据框Python 在同一数据帧中合并列,python,pandas,Python,Pandas,我有4列的数据框 Column1 Column2 Column3 Column4 0 Item1 Value1 Item2 Value2 1 Item3 Value3 Item4 Value4 2 Item5 Value5 Item6 Value6 3 Item7 Value7 Item8 Value8 4 Item9 Value
Column1 Column2 Column3 Column4
0 Item1 Value1 Item2 Value2
1 Item3 Value3 Item4 Value4
2 Item5 Value5 Item6 Value6
3 Item7 Value7 Item8 Value8
4 Item9 Value9 Item10 Value10
5 Item11 Value11 Item12 Value12
6 Item13 Value13 Item14 Value14
有没有办法将Column1
和Column3
组合在一起?和第2列
和第4列
?得到下面的
Column1 Column2
0 Item1 Value1
1 Item2 Value2
2 Item3 Value3
3 Item4 Value4
4 Item5 Value5
5 Item6 Value6
6 Item7 Value7
7 ...
我试过玩
append
、concat
和split
,但似乎无法解决 好吧,也许这会有帮助:
In [571]: df
Out[571]:
Column1 Column2 Column3 Column4
0 Item1 Value1 Item2 Value2
1 Item3 Value3 Item4 Value4
2 Item5 Value5 Item6 Value6
3 Item7 Value7 Item8 Value8
4 Item9 Value9 Item10 Value10
5 Item11 Value11 Item12 Value12
6 Item13 Value13 Item14 Value14
In [572]: pd.DataFrame({'Column1': pd.concat([df.Column1, df.Column3]), 'Column2': pd.concat([df.Column2, df.Column4])}).sort_index()
Out[572]:
Column1 Column2
0 Item1 Value1
0 Item2 Value2
1 Item3 Value3
1 Item4 Value4
2 Item5 Value5
2 Item6 Value6
3 Item7 Value7
3 Item8 Value8
4 Item9 Value9
4 Item10 Value10
5 Item11 Value11
5 Item12 Value12
6 Item13 Value13
6 Item14 Value14
您还可以重置索引:
In [574]: pd.DataFrame({'Column1': pd.concat([df.Column1, df.Column3]), 'Column2': pd.concat([df.Column2, df.Column4])}).sort_index().reset_index(drop=True)
Out[574]:
Column1 Column2
0 Item1 Value1
1 Item2 Value2
2 Item3 Value3
3 Item4 Value4
4 Item5 Value5
5 Item6 Value6
6 Item7 Value7
7 Item8 Value8
8 Item9 Value9
9 Item10 Value10
10 Item11 Value11
11 Item12 Value12
12 Item13 Value13
13 Item14 Value14
好吧,也许这会有帮助:
In [571]: df
Out[571]:
Column1 Column2 Column3 Column4
0 Item1 Value1 Item2 Value2
1 Item3 Value3 Item4 Value4
2 Item5 Value5 Item6 Value6
3 Item7 Value7 Item8 Value8
4 Item9 Value9 Item10 Value10
5 Item11 Value11 Item12 Value12
6 Item13 Value13 Item14 Value14
In [572]: pd.DataFrame({'Column1': pd.concat([df.Column1, df.Column3]), 'Column2': pd.concat([df.Column2, df.Column4])}).sort_index()
Out[572]:
Column1 Column2
0 Item1 Value1
0 Item2 Value2
1 Item3 Value3
1 Item4 Value4
2 Item5 Value5
2 Item6 Value6
3 Item7 Value7
3 Item8 Value8
4 Item9 Value9
4 Item10 Value10
5 Item11 Value11
5 Item12 Value12
6 Item13 Value13
6 Item14 Value14
您还可以重置索引:
In [574]: pd.DataFrame({'Column1': pd.concat([df.Column1, df.Column3]), 'Column2': pd.concat([df.Column2, df.Column4])}).sort_index().reset_index(drop=True)
Out[574]:
Column1 Column2
0 Item1 Value1
1 Item2 Value2
2 Item3 Value3
3 Item4 Value4
4 Item5 Value5
5 Item6 Value6
6 Item7 Value7
7 Item8 Value8
8 Item9 Value9
9 Item10 Value10
10 Item11 Value11
11 Item12 Value12
12 Item13 Value13
13 Item14 Value14
您还可以使用子列并动态重命名列3和列4,将两个不同的分组视为单独的数据帧:
>>> df
Column1 Column2 Column3 Column4
0 Item1 Value1 Item2 Value2
1 Item3 Value3 Item4 Value4
2 Item5 Value5 Item6 Value6
3 Item7 Value7 Item8 Value8
4 Item9 Value9 Item10 Value10
5 Item11 Value11 Item12 Value12
6 Item13 Value13 Item14 Value14
df[['Column1','Column2']].append(df[['Column3','Column4']].rename(columns={'Column3':'Column1','Column4':'Column2'})).sort_index().reset_index(drop=True)
Column1 Column2
0 Item1 Value1
1 Item2 Value2
2 Item3 Value3
3 Item4 Value4
4 Item5 Value5
5 Item6 Value6
6 Item7 Value7
7 Item8 Value8
8 Item9 Value9
9 Item10 Value10
10 Item11 Value11
11 Item12 Value12
12 Item13 Value13
13 Item14 Value14
还可以使用子列并动态重命名Column3和Column4,将两个不同的分组视为单独的数据帧:
>>> df
Column1 Column2 Column3 Column4
0 Item1 Value1 Item2 Value2
1 Item3 Value3 Item4 Value4
2 Item5 Value5 Item6 Value6
3 Item7 Value7 Item8 Value8
4 Item9 Value9 Item10 Value10
5 Item11 Value11 Item12 Value12
6 Item13 Value13 Item14 Value14
df[['Column1','Column2']].append(df[['Column3','Column4']].rename(columns={'Column3':'Column1','Column4':'Column2'})).sort_index().reset_index(drop=True)
Column1 Column2
0 Item1 Value1
1 Item2 Value2
2 Item3 Value3
3 Item4 Value4
4 Item5 Value5
5 Item6 Value6
6 Item7 Value7
7 Item8 Value8
8 Item9 Value9
9 Item10 Value10
10 Item11 Value11
11 Item12 Value12
12 Item13 Value13
13 Item14 Value14
嗯,这不是我想要的输出。如上所述,我希望将
column1
与column3
相结合,将column2
与column4
相结合。这并没有给我想要的:/嗯,这不是我想要的输出。如上所述,我希望将column1
与column3
相结合,将column2
与column4
相结合。这并没有给我想要的:/