首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法更改d型熊猫蟒蛇

无法更改d型熊猫蟒蛇
EN

Stack Overflow用户
提问于 2019-01-02 23:06:34
回答 1查看 411关注 0票数 0

我正在使用pandas中的dataframe,并且有一个具有int64数据类型的列。我需要将这个数据类型转换成一个字符串,这样我就可以分割字符,取5个字符列的前3个字符。守则如下:

代码语言:javascript
复制
trainer_pairs[:, 'zip5'] = trainer_pairs.zip5.astype(dtype='object')
trainer_pairs.zip5.dtype
dtype('O')

我已经确认数据类型是object,但是当我试图在列上使用str.slice()时,我仍然得到以下信息:

代码语言:javascript
复制
0      NaN
1      NaN
2      NaN
3      NaN
4      NaN
5      NaN
6      NaN
7      NaN

如何成功地更新数据类型,以便运行此字符串方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-02 23:12:16

在这里您应该使用astype(str)

代码语言:javascript
复制
trainer_pairs['zip5'] = trainer_pairs.zip5.astype(str)

关于你的错误

代码语言:javascript
复制
df=pd.DataFrame({'zip':[1,2,3,4,5]})
df.zip.astype(object)
Out[4]: 
0    1
1    2
2    3
3    4
4    5
Name: zip, dtype: object

即使转换为object,它们仍然是int,使用intfloat类型的切片将返回值为NaN。请查查

代码语言:javascript
复制
df.zip.astype(object).apply(type)
Out[5]: 
0    <class 'int'>
1    <class 'int'>
2    <class 'int'>
3    <class 'int'>
4    <class 'int'>
Name: zip, dtype: object

df.zip.astype(str).apply(type)
Out[6]: 
0    <class 'str'>
1    <class 'str'>
2    <class 'str'>
3    <class 'str'>
4    <class 'str'>
Name: zip, dtype: object
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54014341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档