Pandas教程:Python数据框架的10个常见问题

当您开始使用Python进行数据分析和数据科学时,Pandas是您将学习的第一个库之一。其可帮助您处理数据集,转换和清理数据以及获取统计信息。在本教程中,我们将回答人们在使用熊猫时遇到的10个最常见的问题。

Pandas教程:Python数据框架的10个常见问题

当您开始使用Python进行数据分析和数据科学时,Pandas是您将学习的第一个库之一。其可帮助您处理数据集,转换和清理数据以及获取统计信息。

Pandas教程:有关Python数据帧的10个常见问题

在本教程中,我们将回答人们在使用熊猫时遇到的10个最常见的问题。

数据集

在本教程的第一部分中,我们将使用包含城市人口样本数据以及有关土地面积和人口密度的一些信息的数据集。

Pandas教程:Python数据框架的10个常见问题

Pandas Loc和iloc

pandas.loc[] 有助于通过标签或布尔数组切片访问一组行和列。

让我们选择墨西哥城的人口。

Pandas教程:Python数据框架的10个常见问题

下面我们仅打印墨西哥城的人口。

Pandas教程:Python数据框架的10个常见问题

使用,.iloc[]您可以使用数字整数索引选择列。

请记住以下几点:

  • 平原:用于选择行/列中的所有数据。
  • 0:2 将选择行/列0和1。不包括2。
  • -1 将选择最后一个元素。

Pandas教程:Python数据框架的10个常见问题

重命名列

接下来,我们将重命名这些列,以使它们将来更易于访问。

有几种方法可以做到这一点:

  • 直接分配df.columns一个列名称数组。
  • 用df.rename重命名特定列。

Pandas教程:Python数据框架的10个常见问题

在pandas DataFrame中选择多个列

让我们将DataFrame分为两个包含以下内容的DataFrame:

  1. 城市,国家和人口。
  2. 城市,区域和密度。

我们可以通过几种方式做到这一点:

  • 通过使用.iloc[:, 0:3],其中括号中的第一个参数选择所有行,第二个参数选择列0,列1和列2。
  • 通过将DataFrame切片为double[]并输入要选择的列名。

Pandas教程:Python数据框架的10个常见问题

熊猫按列合并两个表

接下来,我们将垂直连接我们创建的两个表。这些表具有相同的City列,因此我们将使用该pd.merge函数来连接两个表。

该left_on和right_on参数指示列名在第一和第二个表合并上。

Pandas教程:Python数据框架的10个常见问题

使用pandas更改pandas中的列类型

与数据帧的工作进一步,我们需要转变Population,Area以及Density从字符串列转换为数字。

为此,我们将:

  1. 创建一个函数,to_int()它将带有’,’符号的字符串转换为整数。
  2. 将apply函数与lambda表达式一起使用。
    Pandas教程:Python数据框架的10个常见问题

分组并变成一个DataFrame

现在,让我们对DataFrame进行分组,Country并计算此数据样本中每个国家/地区的人口。
困难之pd.groupby处在于它返回一个groupby对象,而不是DataFrame。在下面的示例中,我们将展示如何从groupby对象创建DataFrame。

我们将对进行分组Country,同时计算Population和Area列的总和。我们将删除密度列,因为我们不再需要它。

Pandas教程:Python数据框架的10个常见问题

如何在Pandas中的DataFrame中的行上进行迭代

尽管遍历行可能不是最快的解决方案,但有时仍然可以派上用场。您可以使用循环.iterrows()功能来做到这一点。

考虑尝试对applyPandas DataFrame的函数或向量化表示执行相同的操作。在大型数据集上,这将提高计算速度。

在下面,我们将Population列除以1000,并以千为单位获得人口数。下面有3个替代代码示例。

Pandas教程:Python数据框架的10个常见问题

如何根据列值从DataFrame中选择行

让我们选择人口超过1000万人,面积不到2000平方公里的国家。
您可以通过在中输入逻辑约束来做到这一点[]。

Pandas教程:Python数据框架的10个常见问题

如何更改DataFrame列的顺序

您可以简单地通过以不同顺序切片现有的DataFrame来做到这一点。

Pandas教程:Python数据框架的10个常见问题

用Pandas清理数据

要开始使用数据,您需要清理数据。

首先的基本步骤是:

  • 在DataFrame中删除重复项。
  • 用有意义的值填充空单元格,或用很多空值删除列。
  • 获取有关列值的统计信息。

让我们下载带有网球比赛结果的数据集。

Pandas教程:Python数据框架的10个常见问题

我们将降大任于重复使用pd.drop_duplicates,以inplace = True将更改应用到数据帧。

Pandas教程:Python数据框架的10个常见问题

现在,让我们找出DataFrame中是否存在NaN值。

df.isna().any() 当该列包含NaN值时为True。

Pandas教程:Python数据框架的10个常见问题

在此minutes列中,我们具有91%的NaN值,因此将其删除,因为它不包含任何有用的信息。

Pandas教程:Python数据框架的10个常见问题

在winner_age,loser_age,loser_rank,和winner_rank列没有太多的NaN值,所以我们会用中位数代替NaN值。

Pandas教程:Python数据框架的10个常见问题 Pandas教程:Python数据框架的10个常见问题 Pandas教程:Python数据框架的10个常见问题

有了df.describe我们,我们可以获得有关数字列数据的统计信息。

Pandas教程:Python数据框架的10个常见问题

这就是我们的Pandas教程。你学会了吗即下载体验吧!您有任何疑问或意见欢迎评论!

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月2日
下一篇 2021年1月2日

相关推荐

发表回复

登录后才能评论