将多个列合并成一个表,也就是将多个Series对象合并成一个Dataframe对象,本文章着重讲解多列合并。
主要推荐的函数有pd.concat()
和pd.Dataframe(list(zip(s1, s2, s3)))
接下来是详细讲解
首先介绍pd.contact()函数首先创建两个Series对象为例
首先要提醒的是,Dataframe对象的每一列都可以看做是一个Series对象
换句话说,Dataframe对象可以看做是多个Series对象拼接而成
会发现这样会直接把s1和s2进行简单的行拼接
2. 对s1和s2使用pd.concat([s1, s2], axis=1, ignore_index=False)
结果是把s1和s2中具有相同索引的值进行了拼接, 最后的结果变成了一个具有两列的Dataframe对象
结果和上面的一样
4. 对s1和s2使用pd.concat([s1, s2], axis=0, ignore_index=True)
现在就可以发现ignore_index = True 的作用了,他就是在进行 行拼接的可以忽略原先二者的索引值,然后重新构建索引
我们也可以对比3和4发现,在进行列拼接的时候,ignore_index 是不生效的
那如何拼接两个索引值不同的列呢
下面介绍两个方法
解决拼接两个索引值不同的列的方法: 方法一出现上述问题的根本原因还是两个列的索引值不同
第一个方法就是把两个列的索引值都改成一样
s1.reset_index(drop=True, inplace=True) s2.reset_index(drop=True, inplace=True)
这样就可以把两列的索引值都去掉,或者说是都设置为初试默认值0,1,2…
这样再使用,就可以进行拼接了
pd.Dataframe(list(zip(s1, s2)))
zip()里面也可以放3个列及以上的列
这个方法也可以直接忽略两列不同的索引值
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)