pandas入门——数据合并concat函数
2017-08-15 19:08
489 查看
数据合并concat函数
创建数据框# 导入pandas与numpy包 import pandas as pd import numpy as np # 创建两个index与columns有重合的数据框 df1 = pd.DataFrame(data=np.ones((5,6))*1,columns=["a","b","c","d","e","f"],index=[0,1,2,3,4]) df2 = pd.DataFrame(data=np.ones((5,6))*2,columns=["e","f","g","h","j","k"],index=[2,3,4,5,6]) print(df1) print(df2)
a b c d e f 0 1.0 1.0 1.0 1.0 1.0 1.0 1 1.0 1.0 1.0 1.0 1.0 1.0 2 1.0 1.0 1.0 1.0 1.0 1.0 3 1.0 1.0 1.0 1.0 1.0 1.0 4 1.0 1.0 1.0 1.0 1.0 1.0 e f g h j k 2 2.0 2.0 2.0 2.0 2.0 2.0 3 2.0 2.0 2.0 2.0 2.0 2.0 4 2.0 2.0 2.0 2.0 2.0 2.0 5 2.0 2.0 2.0 2.0 2.0 2.0 6 2.0 2.0 2.0 2.0 2.0 2.0
进行竖直方向的合并 并且使用的合并方式是outer
print(pd.concat(objs=[df1,df2],axis=0,join="outer"))
a b c d e f g h j k 0 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN 1 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN 2 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN 3 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN 4 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN 2 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0 3 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0 4 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0 5 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0 6 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0
进行水平方向的合并 并且使用的合并方式是outer
print(pd.concat(objs=[df1,df2],axis=1,join="outer"))
a b c d e f e f g h j k 0 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN NaN NaN 1 1.0 1.0 1.0 1.0 1.0< 4000 /span> 1.0 NaN NaN NaN NaN NaN NaN 2 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 3 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 4 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 5 NaN NaN NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0 6 NaN NaN NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0
进行竖直方向的合并 并且使用的合并方式是inner
print(pd.concat(objs=[df1,df2],axis=0,join="inner"))
e f 0 1.0 1.0 1 1.0 1.0 2 1.0 1.0 3 1.0 1.0 4 1.0 1.0 2 2.0 2.0 3 2.0 2.0 4 2.0 2.0 5 2.0 2.0 6 2.0 2.0
进行水平方向的合并 并且使用的合并方式是inner
print(pd.concat(objs=[df1,df2],axis=1,join="inner"))
a b c d e f e f g h j k 2 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 3 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 4 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0
以df1的索引为主进行合并 在水平方向
print(pd.concat(objs=[df1,df2],join_axes=[df1.index],axis=1))
a b c d e f e f g h j k 0 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN NaN NaN 1 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN NaN NaN 2 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 3 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0 4 1.0 1.0 1.0 1.0 1.0 1.0 2.0 2.0 2.0 2.0 2.0 2.0
以df1的列为主进行合并 在垂直方向
print(pd.concat(objs=[df1,df2],axis=0,join_axes=[df1.columns]))
a b c d e f 0 1.0 1.0 1.0 1.0 1.0 1.0 1 1.0 1.0 1.0 1.0 1.0 1.0 2 1.0 1.0 1.0 1.0 1.0 1.0 3 1.0 1.0 1.0 1.0 1.0 1.0 4 1.0 1.0 1.0 1.0 1.0 1.0 2 NaN NaN NaN NaN 2.0 2.0 3 NaN NaN NaN NaN 2.0 2.0 4 NaN NaN NaN NaN 2.0 2.0 5 NaN NaN NaN NaN 2.0 2.0 6 NaN NaN NaN NaN 2.0 2.0
dataframe追加数据框
print(df1.append(df2,ignore_index=True))
a b c d e f g h j k 0 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN 1 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN 2 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN 3 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN 4 1.0 1.0 1.0 1.0 1.0 1.0 NaN NaN NaN NaN 2 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0 3 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0 4 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0 5 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0 6 NaN NaN NaN NaN 2.0 2.0 2.0 2.0 2.0 2.0
dataframe追加series
s1 = pd.Series(data=np.arange(6),index=["a","b","c","d","e","f"]) print(df1.append(s1,ignore_index=True))
a b c d e f 0 1.0 1.0 1.0 1.0 1.0 1.0 1 1.0 1.0 1.0 1.0 1.0 1.0 2 1.0 1.0 1.0 1.0 1.0 1.0 3 1.0 1.0 1.0 1.0 1.0 1.0 4 1.0 1.0 1.0 1.0 1.0 1.0 5 0.0 1.0 2.0 3.0 4.0 5.0
相关文章推荐
- pandas入门——数据合并merge函数
- 数据挖掘 pandas基础入门之操作
- 数据分析包Pandas快速入门
- pandas的DataFrame怎么把几列数据合并成为新的一列
- python数据分析(pandas入门)
- pandas入门——数据的创建与基本操作
- python - pandas dataFrame merge 数据合并
- 数据提取(2):pandas库入门
- 利用Python数据分析:pandas入门(一)
- 【pandas】[4] 数据清洗(数据合并,重塑,转换,离散化,过滤,采样)
- Python数据分析入门之pandas总结基础
- Pandas 合并数据
- pandas合并数据merge
- ORACLE 多列合并成一行数据 WM_CONCAT函数以及REPLACE
- pandas入门——数据分组
- pandas入门——数据过滤
- python数据分析pandas包入门学习(三)汇总和统计描述
- PANDAS 数据合并与重塑(concat篇)
- PANDAS 数据合并与重塑(concat篇)
- Python数据分析入门(一)-Pandas数据结构(Series)