1.3 数据纵向完全合并:concat

这一节,我们学习如何将transaction_1.csv文件和transaction_2.csv文件合并起来。观察这两个数据文件可以发现,数据文件的数据列都是一样的。这种情况下的所谓合并,就是相同结构下数据量的增加,好比原来是11层楼(transaction_1.csv),现在再增加盖5层楼(transaction_2.csv)的意思,也就是数据的纵向完全合并。

 

上一节中,我们已经将transaction_1.csv文件转换成了transaction_1 变量,接下来,再读取transaction_2.csv文件,转换成transaction_2 变量。代码如下:

transaction_2 = pd.read_csv('transaction_2.csv')
transaction = pd.concat([transaction_1,transaction_2],ignore_index=True)
transaction.head()

解释一下代码:

 

第1行:使用pandas中的read_csv函数,读取外部的“transaction_2.csv”文件,转换成pandas的处理数据对象,存储到transaction_2变量中。

第2行:使用concat函数,将transaction_1变量和transaction_2变量纵向合并。其中,参数ignore_index的含义是不保留连接轴上的索引,产生一组新索引。

第3行:使用head()函数,将transaction_2变量的前5行数据显示出来。

 

点击"运行",执行效果如下图所示。

1.3 数据纵向完全合并:concat

观察Out的结果,我们并不能知道transaction_1变量和transaction_2变量,是否已经完全合并了呢?

 

那么,我们可以通过计算合并前合并后的行数的变化,来判断合并是否完全以及数量正确。

 

代码如下:

print(len(transaction_1))
print(len(transaction_2))
print(len(transaction))

点击"运行",执行效果如下图所示。

1.3 数据纵向完全合并:concat

解释一下代码:

 

len函数可以计算出每个变量的行数,从结果可以发现,5000+1786=6786。所以,数据合并是完整的。


按照同样的方法,我们再将transaction_detail_1.csv文件和transaction_detail_2.csv文件合并成一个对象。代码如下:

transaction_detail_2 = pd.read_csv('transaction_detail_2.csv')
transaction_detail = pd.concat([transaction_detail_1,transaction_detail_2],ignore_index=True)
transaction_detail.head()

点击"运行",执行效果如下图所示。

1.3 数据纵向完全合并:concat

数据完全合并后,相信你马上就会想到,能不能将 transaction transaction_detail 也合并到一起呢?这就不是数据纵向的完全合并,而是横向的关联合并了。

 

下一节继续!

 


此处为语雀文档,点击链接查看:https://www.yuque.com/codeclub/yvmeco/friz9v

相关文章: