将连续数据转换为 Pandas 数据框中的分类数据

Connvert Continuous data to categorical data in Pandas dataframe

全部,

我有以下数据集,我想在我的数据框中添加一个额外的列,这将 represent/reflect 分类数据中的结果如下。

当前数据集

添加新列后:

请告知如何处理this.I我是 pyton 的新手,如果您能提供解释,那就太好了!

您可以在创建 dict 后使用 map,但让我们尝试一些新的东西

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]

好的 使用地图

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

一个解决方案:

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