Преобразование непрерывных данных в категориальные данные в кадре данных Pandas - PullRequest
0 голосов
/ 27 ноября 2018

Все,

У меня есть набор данных ниже, и я хотел бы добавить один дополнительный столбец к моему фрейму данных, который будет представлять / отражать результат в категориальных данных, как показано ниже.

Текущий набор данных : enter image description here

После добавления нового столбца: enter image description here

Пожалуйста, сообщитекак подойти к этому. Я новичок в питоне, если вы можете дать объяснение, это будет здорово!

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Одно решение:

data.csv

Age,Population,Seasons
20,100,1
30,340,2
35,45,3
40,90,4
45,9,3

test.py

#!/bin/python

import pandas as pd

df = pd.read_csv('data.csv')

seasons = ['Winter', 'Spring', 'Summer', 'Fall']

df['Seas_Fact'] = [seasons[x-1] for x in df['Seasons']]

print(df)

Вывод:

   Age  Population  Seasons Seas_Fact
0   20         100        1    Winter
1   30         340        2    Spring
2   35          45        3    Summer
3   40          90        4      Fall
4   45           9        3    Summer
0 голосов
/ 27 ноября 2018

Вы можете использовать map после создания dict, но давайте попробуем что-то новое

pd.cut(df.Seasons,4,labels=['Winter','Spring','Summer','Fall'])
Out[262]: 
0    Winter
1    Spring
2    Summer
3      Fall
4    Summer
dtype: category
Categories (4, object): [Winter < Spring < Summer < Fall]

Ok Используя карту

d=dict(zip([1,2,3,4],['Winter', 'Spring', 'Summer', 'Fall']))
df.Seasons.map(d)
Out[265]: 
0    Winter
1    Spring
2    Summer
3      Fall
4    Summer
dtype: object
...