为Pandas中的现有数据分配值标签/类别的最简单方法

2024-09-30 04:35:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用SPSS创建的数据集,其中标签可以添加到数值变量中,例如数字1、2、3可以有类别A、B、C

对于数据可视化,在大熊猫身上重新分配这些标签是很有用的。在

我已经能够使用下面的代码实现这一点,但是每次我想为现有数据创建新标签时,定义一个新函数似乎过于复杂。在

有没有更简单的方法来实现这一点?在

import pandas as pd 

sample_df = pd.DataFrame({'variable':[1,2,3,1,2,3],
                'value':[50, 55, 65, 55,33,66]})

def setCategory(c):
    if c['variable'] == 1:
        return 'A'
    elif c['variable'] == 2:
        return 'B'
    elif c['variable'] == 3:
        return 'C'

sample_df['Category'] = sample_df.apply(setCategory, axis =1)

Tags: 数据sampledfreturn可视化数字标签类别
1条回答
网友
1楼 · 发布于 2024-09-30 04:35:24

您可以创建从数字到字母的映射,并在Series.map中使用:

mapping = dict(zip(range(1, 4), list('ABC')))

mapping
Out: {1: 'A', 2: 'B', 3: 'C'}

sample_df['variable'].map(mapping)
Out: 
0    A
1    B
2    C
3    A
4    B
5    C
Name: variable, dtype: object

相关问题 更多 >

    热门问题