在Pandas中将文本转换为int64分类

时间:2016-05-10 20:10:04

标签: python pandas categorical-data

我在data['artist']中有一些艺术家名称,我希望通过以下方式转换为分类列:

x = data['artist'].astype('category').cat.codes
x.dtype 

返回:

dtype('int32')

我得到负数表示某种溢出情况。所以,我想使用np.int64代替,但我找不到有关如何实现此目标的文档。

x = data['artist'].astype('category').cat.codes.astype(np.int64)
x.dtype

给出

dtype('int64')

但很明显int32转换为int64,因此负值仍然存在

x = data['artist'].astype('category').cat.codes.astype(np.int64)
x.min()

-1

1 个答案:

答案 0 :(得分:1)

我认为您在malloc列中有var counter = 1; var time; function intervalFunction(offset) { var id = '#' + counter; $(id).attr('class', 'hidden'); counter += offset; if(counter > 4) counter = 1; else if(counter < 1) counter = 4; id = '#' + counter; $(id).attr('class', 'visible'); } function startInterval(offset){ if(time) clearInterval(time); intervalFunction(offset); time = setInterval(function () { intervalFunction(1); },3000); } $('#left').on('click', function peter() { startInterval(-1); }); $('#right').on('click', function () { startInterval(1); }); startInterval(1); ,因此代码为NaN

artist

要检查-1,您可以使用isnull

data=pd.DataFrame({'artist':[np.nan,'y','z','x','y','z']})

x = data['artist'].astype('category').cat.codes
print x
0   -1
1    1
2    2
3    0
4    1
5    2
dtype: int8