[英]pandas merge columns in same dataframe
I have dataframe with 4 columns. 我有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 Value9 Item10 Value10
5 Item11 Value11 Item12 Value12
6 Item13 Value13 Item14 Value14
Is there a way for me to combine Column1
and Column3
together? 我有办法将
Column1
和Column3
组合在一起吗? and with Column2
and Column4
? 以及
Column2
和Column4
吗? To get the below 得到以下
Column1 Column2
0 Item1 Value1
1 Item2 Value2
2 Item3 Value3
3 Item4 Value4
4 Item5 Value5
5 Item6 Value6
6 Item7 Value7
7 ...
I've tried playing with append
, concat
and split
but cant seem to work it out.. 我试过了
append
, concat
和split
但似乎concat
。
Okay, maybe this might help: 好的,也许这可能会有所帮助:
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
You can also reset the index: 您还可以重置索引:
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
You can also treat the two distinct groupings as separate DataFrames by using the subcolumns and renaming the Column3 and Column4 on the fly: 您还可以通过使用子列并动态重命名Column3和Column4,将两个不同的组视为单独的DataFrame。
>>> 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.