当前位置: 首页 > 后端技术 > Python

数据处理【瑞士军刀pandas攻略】:5.数据类型和缺失值

时间:2023-03-26 19:35:38 Python

参考来源:Vitu.AI我们先加载数据。importpandasaspdpd.set_option('max_rows',5)importnumpyasnpmelbourne_data=pd.read_csv('melb_data.csv')melbourne_data.head()数据类型DataFrame或Series中列的数据类型称为dtype。您可以使用dtype属性获取特定列的类型:melbourne_data.Price.dtype或者,dtypes属性返回数据集中每一列的dtype:melbourne_data.dtypes数据类型告诉我们pandas如何在内部存储数据。float64表示它使用64位浮点数;int64表示类似大小的整数,依此类推。要记住(并在此处非常清楚地显示)的一个特点是完全由字符串组成的列无法获得自己的类型;相反,它被赋予了一个对象类型。通过使用astype函数,只要这种转换有意义,您就可以将一种类型的列转换为另一种类型。例如,我们可以将Price列从其现有的float64数据类型转换为int64数据类型:melbourne_data.Price.astype('int64')DataFrame或Series索引也有自己的dtype:melbourne_data.index.dtypepandas还支持更多奇特的数据类型:分类数据和时间序列数据。因为这些数据类型很少使用,所以我们将在本教程的稍后部分再次讨论它们。缺失数据条目缺失值的值为NaN,“不是数字”的缩写。由于技术原因,这些NaN值始终是float64dtype。pandas提供了一些特定于缺失数据的方法。要选择NaNentreis,您可以使用pd.isnull(或其同伴pd.notnull)。这意味着:melbourne_data[melbourne_data.BuildingArea.isnull()]替换缺失值是一个常见的操作。pandas为这个问题提供了一个非常方便的方法:fillna。fillna提供了几种不同的策略来减少此类数据。例如,我们可以简单地将每个NaN替换为“Unknown”:melbourne_data.BuildingArea.fillna("Unknown")或者,我们可以用数据库值中给定记录之后出现的第一个非空值填充每个缺失值。这称为回填策略:fillna支持一些用于估算缺失值的策略。有关更多信息,请阅读官方功能文档。或者,我们可能有一个要替换的非空值。在数据集中反映这一点的一种方法是使用替换方法:melbourne_data.SellerG.replace('Biggin','BigginNew')这里值得一提的是替换方法,因为它可以方便地替换各种标志值的缺失数据:“Unknown”、“Undisclosed”、“Invalid”等原文地址:数据处理【瑞士军刀Pandas指南】:5.数据类型和缺失值