state stop_date stop_time driver_gender driver_race
0RI2005-01-0412:55M White
1RI2005-01-2323:15M White
2RI2005-02-1704:15M White
3RI2005-02-2017:15M White
4RI2005-02-2401:20F White
技术支持
在本示例中,您将删除只包含缺失值的 county_name 列,并删除 state 列,因为所有交通拦截都发生在同一个州(罗德岛)。因此,这些列不含有用信息,可以被删除。每列的缺失值数量已打印到控制台供您参考。
查看 DataFrame 的 .shape,以了解行数和列数。
通过将列名列表传给 .drop() 方法,删除 county_name 和 state 两列。
再次查看 .shape,确认列数已减少两个。
# Examine the shape of the DataFrameprint(ri.shape)# Drop the 'county_name' and 'state' columns
ri.drop(['county_name','state'], axis='columns', inplace=True)# Examine the shape of the DataFrame (again)print(ri.shape)技术支持
在数据分析中,DataFrame 里常常会有对分析无用的列。删除这些列可以让您更容易聚焦于其余有用的列。
您可以通过指定标签名和对应的轴来移除列,或者直接指定索引或列名。使用多级索引时,可以通过指定层级来移除不同层级上的标签。
.drop()方法先将缺失值的计数与数据框的形状作比较。您会注意到,
county_name列的缺失值数量与行数相同,这意味着该列只包含缺失值。由于它不包含有用信息,可以使用
.drop()方法删除该列。除了指定列名外,您需要指定从列轴上删除,并设置就地执行,以避免如下所示的赋值语句:
.dropna()方法.dropna()方法可以根据行中是否存在缺失值来删除行,是一种非常好用的方式。例如,基于上面的数据集,假设 stop_date 和 stop_time 两列对我们的分析至关重要,那么没有这些数据的行对我们来说就没有用处。
我们可以让 pandas 删除在
stop_date或stop_time任一列中存在缺失值的所有行。由于指定了子集,.dropna()方法在决定删除哪些行时只会考虑这两列。删除列的交互式示例
在本示例中,您将删除只包含缺失值的
county_name列,并删除state列,因为所有交通拦截都发生在同一个州(罗德岛)。因此,这些列不含有用信息,可以被删除。每列的缺失值数量已打印到控制台供您参考。.shape,以了解行数和列数。.drop()方法,删除county_name和state两列。.shape,确认列数已减少两个。运行以上代码,会得到如下结果:
亲自试一试。
如需进一步了解如何在 pandas 中删除列,请观看我们课程 Introduction to Data Visualization with ggplot2 中的这段视频。
本文内容摘自 Kevin Markham 在 DataCamp 开设的 Introduction to Data Visualization with ggplot2 课程。
查看我们的 Pandas 添加列教程。