将连续数据转换为 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
全部,
我有以下数据集,我想在我的数据框中添加一个额外的列,这将 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