Количество вхождений слова в столбце с использованием Python - PullRequest
0 голосов
/ 22 января 2019

Вот так выглядит мой текстовый файл

000000005|19670905|M|20060201|20070131|6709055223085|01|PRINCIPLE|000021629633|ONYX
000000005|19740423|F|20060201|20070131|7404230424084|01|WIFE|000021629633|ONYX
000000005|19991028|F|20060201|20070131|9910280147084|01|DAUGHTER|000021629633|ONYX

Мне нужно встретить слово PRINCIPLE, а затем указать количество WIFE и DAUGHTER здесь число WIFE равно 1, а DAUGHTER также равно 1 эти столбцы и строки имеют заголовки Есть несколько записей, таких как 000004, 000008 и т. Д.

counts = data['gender'].value_counts().to_dict()

Я сделал это, чтобы узнать количество мужчин и женщин. Я просто пытался. Мне нужна небольшая помощь в том, как решить эту проблему, используя python

Я хочу что-то вроде

PRINCIPLE WIFE DAUGHTER
and below the counts

1 Ответ

0 голосов
/ 22 января 2019

Вы можете попробовать это

 import pandas as pd 

# select the gender col 
gender = data[['gender']] 
# groupby to a new dataframe
counts = pd.DataFrame({'count' : gender.groupby(['gender']).size()}).reset_index()

если вы хотите добавить первые столбцы "записей"

gender = data[['gender','entries']] 
# groupby to a new dataframe
counts = pd.DataFrame({'count' : gender.groupby(['entries','gender']).size()}).reset_index()

Пример:

>>> print(d)
   entries     gender
0        5  PRINCIPLE
1        5       WIFE
2        5   DAUGHTER
3        6  PRINCIPLE
4        6  PRINCIPLE
5        6   DAUGHTER
6        7       WIFE
7        7   DAUGHTER
8        7       WIFE

>>> count = pd.DataFrame({'count' : d.groupby(['entries','gender']).size()}).reset_index()

>>> print(count)
   entries     gender  count
0        5   DAUGHTER      1
1        5  PRINCIPLE      1
2        5       WIFE      1
3        6   DAUGHTER      1
4        6  PRINCIPLE      2
5        7   DAUGHTER      1
6        7       WIFE      2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...