政安晨:快速学会~机器学习的Pandas数据技能(三)(重命名与合并)

使用机器学习处理数据的第一步就得先理解它,咱们现在就帮助它们一起理解起来。

本篇文章这次换一套数据集,数据文件可以在文章头部下载,并保存至您的虚拟环境的目录中

不知道如何搭建环境的小伙伴请看我机器学习笔记里面的入门文章:

政安晨的机器学习笔记icon-default.png?t=N7T8http://t.csdnimg.cn/lZqlV

政安晨:快速学会~机器学习的Pandas数据技能(三)(重命名与合并)_第1张图片


概述

往往数据会给我们带来列名、索引名或其他命名约定,而我们对此并不满意。在这种情况下,你会学习如何使用pandas函数将有问题的条目的名称更改为更好的名称。你还将探索如何将多个DataFrame和/或Series的数据合并在一起。

重命名

我们在这里介绍的第一个函数是rename(),它可以让您更改索引名称和/或列名称。例如,要将数据集中的points列更改为score,我们可以这样做:

import pandas as pd
pd.set_option('display.max_rows', 5)
reviews = pd.read_csv("./winemag-data-130k-v2.csv", index_col=0)
reviews

政安晨的执行:

政安晨:快速学会~机器学习的Pandas数据技能(三)(重命名与合并)_第2张图片

reviews.rename(columns={'points': 'score'})

将points重命名为score:

政安晨:快速学会~机器学习的Pandas数据技能(三)(重命名与合并)_第3张图片

rename()函数允许通过指定index或column关键字参数来重命名索引或列的值。它支持多种输入格式,但一般来说,使用Python字典是最方便的。以下是一个使用rename()函数重命名索引元素的示例。

reviews.rename(index={0: 'firstEntry', 1: 'secondEntry'})

政安晨:快速学会~机器学习的Pandas数据技能(三)(重命名与合并)_第4张图片

您可能经常重命名列,但很少重命名索引值。为此,通常使用set_index()更方便。

行索引和列索引都可以有自己的名称属性。可以使用rename_axis()方法来更改这些名称。

例如:

reviews.rename_axis("wines", axis='rows').rename_axis("fields", axis='columns')

政安晨:快速学会~机器学习的Pandas数据技能(三)(重命名与合并)_第5张图片

组合

在对数据集进行操作时,我们有时需要以非平凡的方式组合不同的DataFrame和/或Series。Pandas提供了三种核心方法来实现这一点。按照复杂程度递增的顺序,它们是concat()、join()和merge()。大部分merge()能做的事情在join()中也可以更简单地实现,因此我们将忽略merge()并集中讨论前两个函数。

最简单的组合方法是concat()。给定一个元素列表,这个函数将把这些元素沿着一个轴粘合在一起。

当我们有不同的DataFrame或Series对象,但具有相同的字段(列)时,这是非常有用的。

例如:某平台视频数据集,根据原始国家(例如加拿大和英国)将数据拆分。如果我们想同时研究多个国家,我们可以使用concat()将它们合并在一起。

canadian_xxx = pd.read_csv("../input/xxx-new/CAvideos.csv")
british_xxx = pd.read_csv("../input/xxx-new/GBvideos.csv")

pd.concat([canadian_youtube, british_youtube])

在复杂性方面中最复杂的组合器是join()。join()允许您组合具有共同索引的不同DataFrame对象。例如,要获取在加拿大和英国都趋势的视频,我们可以执行以下操作:

left = canadian_xxx.set_index(['title', 'trending_date'])
right = british_xxx.set_index(['title', 'trending_date'])

left.join(right, lsuffix='_CAN', rsuffix='_UK')

在这里,lsuffix和rsuffix参数是必需的,因为英国和加拿大数据集中具有相同的列名。如果这不是真的(例如,我们之前已将它们重命名),我们就不需要它们。


政安晨:快速学会~机器学习的Pandas数据技能(三)(重命名与合并)_第6张图片

(这里咱们就先不演绎了)

你可能感兴趣的:(政安晨的机器学习笔记,Python编程语言大讲堂,机器学习,人工智能,Python,Pandas,重命名与合并)