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'