首页 > 解决方案 > Pandas:定义 value_count() int 时选择第一次出现

问题描述

我想知道如何在 value_count() 等于某个值的数据框中选择第一个观察值。

我尝试了以下操作:

trip_id_value_count = trip_df["trip_id"].value_counts()

trip1 = trip_df[(trip_id_value_count == 378)]

但是,我得到了错误:

IndexingError:作为索引器提供的不可对齐的布尔系列(布尔系列的索引和索引对象的索引不匹配)。

由于值计数可以重复,我想保留它的第一次出现。我的最终目标是提取观察量不同的不同行程。例如,这次旅行 1 将有 378 个观察值。其他人可能有 121、50 等等......

我期望的输出是一个数据框,其中包含该trip_id 的所有具有所选值计数的行。例如,如果trip_id 626xy83m 的值计数为378,并且它是数据帧中显示的第一个trip_id,我想将其提取为数据帧并将其存储在trip1 中。

标签: pythonpandasdataframeindexingcount

解决方案


国际大学联盟:

trip_id_378 = trip_id_value_count[trip_id_value_count == 378].index[0]

trip1 = df_trip.loc[df_trip['trip_id'] == trip_id_378]

推荐阅读