Подмножество, основанное на наиболее частом значении - PullRequest
2 голосов
/ 09 марта 2019

Скажем, у меня есть следующий набор данных в виде файла CSV.

Я хочу, чтобы мой вывод представлял собой файл CSV, который является подмножеством этих данных, основываясь только на данных, связанных с наиболее частым значением в столбце B.

В приведенных ниже примерах данных наиболее частым значением в столбце B является «1», однако это изменится, и поэтому мне нужно, чтобы мой код не был таким конкретным.

A    B
!    1
@    1
#    1
$    1
%    2
^    3
&    2
*    4
(    5
)    2

In this example, I want my output to be a CSV file of:

A    B
!    1
@    1
#    1 
$    1

Но так как наиболее частое значение изменится, я не уверен, каким должен быть мой код.

Любая помощь, которую вы можете оказать, будет высоко оценена. Спасибо.

1 Ответ

4 голосов
/ 09 марта 2019

Мы можем использовать mode, чтобы вернуть значение, которое появляется чаще всего, а затем отфильтровать это значение:

df[df['B']==df['B'].mode()[0]]

Выход:

   A  B
0  !  1
1  @  1
2  #  1
3  $  1

И value_counts может использоваться для N-го наиболее частого значения (начиная с N = 0, являющегося наиболее частым):

df[df['B']==df['B'].value_counts().index[N]]

например. для N = 1:

df[df['B']==df['B'].value_counts().index[1]]

Выход:

   A  B
4  %  2
6  &  2
9  )  2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...