2016-12-08 5 views
1

Я новичок в Pandas и ML. Я читаю книгу Think Stats и прохождение упражнений. Приведенный код загружает данные NSFG Cycle 6 в виде кадра данных для примеров кодирования. В одном из упражнений пользователю предлагается использовать доступную функцию в кадре данных для отображения серии под названием «preglngth». Затем он просит перепроверить результат с помощью Codebook от NSFG. Мой код выглядит следующим образом,Python, Как напечатать серии Pandas, сгруппированные в диапазоне значений индекса

import nsfg 
df = nsfg.ReadFemPreg() 
df.prglngth.value_counts(sort=True) 

И я получаю следующий вывод,

 
+----------------+ 
| 39  4744 | 
| 40  1120 | 
| 38   609 | 
| 9   594 | 
| 41   591 | 
| 6   543 | 
| 37   457 | 
| 13   446 | 
| 4   412 | 
| 8   409 | 
| 35   357 | 
| 36   329 | 
+----------------+ 

и так далее ...

Имя: prglngth, DTYPE: int64

кодовой книги link отображает его следующим образом:

Screenclip

Я хотел бы отображать значения Series в зависимости от диапазона значений индекса, как показано выше. Что мне делать? Спасибо.

Krish.

ответ

0

Функция pd.qcut() помогает вам использовать значения бинов. Вы хотите, чтобы ячейка указала на значения индекса, поэтому вы передаете их в функцию groupby.

s = df.prglngth.value_counts(sort=True) 
s.groupby(pd.cut(s.index, [0, 13.5, 26.5, 100])).sum() 
Смежные вопросы