2024-05-16 20:15:30 发布
网友
我对熊猫相当陌生,来自统计学背景,我正在与一个概念问题作斗争: Pandas具有包含值的列。但有时值有一个特殊的含义——在SPSS或R等统计程序中称为“值标签”
想象一个列rain有两个值0(意思是:无雨)和1(意思是:下雨)。有没有办法将这些标签指定给该值
rain
0
1
在熊猫身上也有这样做的方法吗?主要用于拼盘和可视化目的
您可以有一个单独的字典,将值映射到标签:
d={0:"no rain",1:"raining"}
然后您可以通过执行以下操作来访问带标签的数据
df.rain_column.apply(lambda x:d[x])
不再需要使用map。自版本0.15以来,Pandas允许其列使用分类数据类型。 存储的数据占用更少的空间,对它的操作更快,并且您可以使用标签
map
我以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]
您还可以重命名类别和添加缺少的类别
您可以有一个单独的字典,将值映射到标签:
然后您可以通过执行以下操作来访问带标签的数据
不再需要使用
map
。自版本0.15以来,Pandas允许其列使用分类数据类型。 存储的数据占用更少的空间,对它的操作更快,并且您可以使用标签我以pandas docs为例:
您还可以重命名类别和添加缺少的类别
相关问题 更多 >
编程相关推荐