dataframe 怎么转str_将pandas dataframe中的列从int转换为string

I'm just starting to work with pandas.

I have a dataframe in pandas with mixed int and str data columns. I want to concatenate first columns within the dataframe, to do that I have to convert int column to str.

I've tried to do that like that:

mtrx['X.3'] = mtrx.to_string(columns = ['X.3'])

or like that

mtrx['X.3'] = mtrx['X.3'].astype(str)

but in both cases it's not working and I'm getting an error saying "cannot concatenate 'str' and 'int' objects". Concat for two str columns is working perfectly fine.

Any help would be greatly appreciated! Thanks!

解决方案In [16]: df = DataFrame(np.arange(10).reshape(5,2),columns=list('AB'))

In [17]: df

Out[17]:

A B

0 0 1

1 2 3

2 4 5

3 6 7

4 8 9

In [18]: df.dtypes

Out[18]:

A int64

B int64

dtype: object

Convert a series

In [19]: df['A'].apply(str)

Out[19]:

0 0

1 2

2 4

3 6

4 8

Name: A, dtype: object

In [20]: df['A'].apply(str)[0]

Out[20]: '0'

Convert the whole frame

In [21]: df.applymap(str)

Out[21]:

A B

0 0 1

1 2 3

2 4 5

3 6 7

4 8 9

In [22]: df.applymap(str).iloc[0,0]

Out[22]: '0'


版权声明:本文为weixin_39860755原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。