首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫:将系列的数据类型改为字符串

熊猫:将系列的数据类型改为字符串
EN

Stack Overflow用户
提问于 2014-03-06 17:24:23
回答 10查看 551.2K关注 0票数 149

我在Python2.7中使用了Pandas‘ver0.12.0’,并拥有如下所示的数据:

代码语言:javascript
复制
df = pd.DataFrame({'id' : [123,512,'zhub1', 12354.3, 129, 753, 295, 610],
                    'colour': ['black', 'white','white','white',
                            'black', 'black', 'white', 'white'],
                    'shape': ['round', 'triangular', 'triangular','triangular','square',
                                        'triangular','round','triangular']
                    },  columns= ['id','colour', 'shape'])

id级数由一些整数和字符串组成。默认情况下,它的dtypeobject。我希望将id的所有内容转换为字符串。我尝试了astype(str),它产生了下面的输出。

代码语言:javascript
复制
df['id'].astype(str)
0    1
1    5
2    z
3    1
4    1
5    7
6    2
7    6

1)如何将id的所有元素转换为字符串?

2) --我最终将使用id为数据进行索引。与整数索引相比,在dataframe中使用字符串索引会减慢速度吗?

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2020-03-05 20:34:55

反映最新实践的新答案:到目前为止(v1.2.4),astype('str')astype(str)都不起作用。

根据文件,可以通过以下方式将Series转换为字符串数据类型:

代码语言:javascript
复制
df['id'] = df['id'].astype("string")

df['id'] = pandas.Series(df['id'], dtype="string")

df['id'] = pandas.Series(df['id'], dtype=pandas.StringDtype)
票数 187
EN

Stack Overflow用户

发布于 2017-10-03 10:15:20

你必须分配它,就像这样:-

代码语言:javascript
复制
df['id']= df['id'].astype(str)
票数 68
EN

Stack Overflow用户

发布于 2019-06-28 19:43:32

就我个人而言,上述任何一项都不适合我。做了什么:

代码语言:javascript
复制
new_str = [str(x) for x in old_obj][0]
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22231592

复制
相关文章

相似问题

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