我有一个名为外壳的数据帧。数据帧的属性之一是“Ocean_proximity”,这是分类属性。我在数据帧上应用了median_house_value为 450k 的条件。现在,我想在每个“Ocean_proximity”类别中只保留一条记录,并删除所有其他记录。
我正在使用熊猫和蟒蛇3.0“”
>>>housing[housing.median_house_value==450000][['median_income','median_house_value','ocean_proximity']]
>>>
median_income median_house_value ocean_proximity
993 6.1023 450000.0 INLAND
4265 1.7306 450000.0 <1H OCEAN
4623 0.8804 450000.0 <1H OCEAN
4676 5.8632 450000.0 <1H OCEAN
4685 3.6111 450000.0 <1H OCEAN
4717 2.7824 450000.0 <1H OCEAN
5427 2.2402 450000.0 <1H OCEAN
5506 3.6667 450000.0 <1H OCEAN
5890 4.0893 450000.0 <1H OCEAN
6555 7.7108 450000.0 INLAND
8314 2.1579 450000.0 ISLAND
8317 2.7361 450000.0 ISLAND
>>>housing
>>>
median_income median_house_value ocean_proximity
993 6.1023 450000.0 INLAND
4265 1.7306 450000.0 <1H OCEAN
8317 2.7361 450000.0 ISLAND
我们可以使用 pandas 分组,并应用按海洋邻近性对行进行分组,并仅保留第一个元素。
df=housing[housing.median_house_value==450000][['median_income','median_house_value','ocean_proximity']]
housing=df.groupby('ocean_proximity').apply(lambda x: x.iloc[0])
最简单的方法是将单列传递给drop_duplicates函数
df.drop_duplicates('ocean_proximity')
median_income median_house_value ocean_proximity
993 6.1023 450000.0 INLAND
4265 1.7306 450000.0 <1H_OCEAN
8314 2.1579 450000.0 ISLAND
问题内容: 我犯了一个错误,并且有多余的重复项。 我有一个包含4个关键字段的表。,,,。 是自动递增和主键。 的组合,而应该是唯一的,我有我之前创建唯一索引来删除重复的行。有些行有一个重复项,有些行有很多重复项。 向我显示了我需要处理的重复值。但是现在我不知道如何保留一个并删除每个重复集的其余部分。 问题答案: 备份数据,然后… MySQL在DELETE语句中支持JOIN。如果要保留第一个重复项:
当日期列的值在日期列表中时,我想从熊猫数据帧中删除行。以下代码不起作用: 我得到以下错误: ValueError:序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all()。
我有一个熊猫DataFrame,它已经按日期排序,但我需要序列化这个DataFrame到一个保持行顺序的命令python结构,以便我以后可以返回一个JSON。 我使用一个dict,其中我有一些键和值,我需要数据帧作为一个值。我用pd。但这并不能保持行的顺序。 我尝试使用OrderedDict,但无法用json序列化。转储()。我正在使用python 2.7。 这是datraframe数据,我试图将
我有一个相当大的数据帧(几百列),我想对它执行以下操作。我在下面用一个玩具数据框和一个简单的条件来说明我需要什么。 对于每一行:条件#1:检查其中两列的值是否为零(0)。如果这是真的,请保留该行并继续下一行。如果任一列的值为零(0),则条件为真。 如果条件#1为False(第1列或第4列中没有零),请检查行中所有剩余的列。如果任何剩余列的值为零,则删除该行。 我希望过滤后的数据帧作为一个新的、独立
我有一个熊猫数据框,看起来像这样。 我想确定猫和蝙蝠是重复的相同值,因此想删除一条记录,只保留第一条记录。所得到的数据帧应该只具有。