pandas在同一数据帧中合并列

时间:2016-08-28 12:02:34

标签: 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      Value9     Item10     Value10
5   Item11     Value11    Item12     Value12
6   Item13     Value13    Item14     Value14

我有办法将Column1Column3组合在一起吗?和Column2Column4?得到以下

    Column1    Column2
0   Item1      Value1
1   Item2      Value2
2   Item3      Value3
3   Item4      Value4
4   Item5      Value5
5   Item6      Value6
6   Item7      Value7
7   ...

我尝试过使用appendconcatsplit,但似乎无法解决这个问题。

3 个答案:

答案 0 :(得分:2)

好吧,也许这可能会有所帮助:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a id="register-btn" class="register-btn btn btn-custom btn-rnd animated    
fadeInDown wow">Register</a>
<li id="airlines-list" class="dropdown hlink">
<a id="airlines-btn" href="#" data-toggle="dropdown" aria-expanded="true"><i class="ion-plane"></i>
</a>
<ul id="airlines" class="airlines dropdown-menu arrow">
//somestuff 
</ul>
</li>

您还可以重置索引:

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

答案 1 :(得分:1)

df.columns = pd.MultiIndex.from_product(
    [['One', 'Two'], ['Column1', 'Column2']])
df.stack(0).reset_index(drop=True)

enter image description here

答案 2 :(得分:1)

您还可以使用子列并在运行时重命名Column3和Column4,将两个不同的分组视为单独的DataFrame:

import os
import os.path
fn = r'{0}\Work\test\sample.txt'.format( os.environ['systemdrive'] )
if not os.path.isfile(fn):
    ...