在熊猫中标记变量?

问题描述 投票:5回答:2

我对大熊猫很新,来自统计背景,我正在努力解决一个概念问题:熊猫有列,包含值。但有时价值观具有特殊意义 - 在像SPSS或R这样的统计程序中称为“标签”。

想象一下“雨”列有两个值0“没有下雨”和1“下雨” - 是否有办法将这些标签分配给列?

有没有办法在熊猫中做到这一点?主要用于平台和可视化目的。

python pandas
2个回答
2
投票

不再需要使用map了。从版本0.15开始,Pandas允许其列的分类数据类型。存储的数据占用的空间更少,对它的操作更快,您可以使用标签。

我是从pandas docs举个例子的:

df = pd.DataFrame({"id":[1,2,3,4,5,6], "raw_grade":['a', 'b', 'b', 'a', 'a', 'e']})
#Recast grade as a categorical variable
df["grade"] = df["raw_grade"].astype("category")

df["grade"]

#Gives this:
Out[124]: 
0    a
1    b
2    b
3    a
4    a
5    e
Name: grade, dtype: category
Categories (3, object): [a, b, e]

您还可以重命名类别并添加缺少的类别


4
投票

您可以使用单独的字典将值映射到标签:

 d={0:"no rain",1:"raining"}

然后您可以通过执行来访问标记数据

 df.rain_column.apply(lambda x:d[x])
© www.soinside.com 2019 - 2024. All rights reserved.