Панды: изменить тип данных Series на String

Я использую Pandas 'ver 0.12.0' с Python 2.7 и имею фрейм данных, как показано ниже:

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 Серия состоит из нескольких целых чисел и строк. этоdtype по умолчаниюobject, Я хочу конвертировать все содержимоеid в строки. Я старалсяastype(str), который производит вывод ниже.

df['id'].astype(str)
0    1
1    5
2    z
3    1
4    1
5    7
6    2
7    6

1) Как я могу конвертировать все элементыid нанизывать?

2) Я в конечном итоге буду использоватьid для индексации данных. Замедляет ли наличие строковых индексов в кадре данных по сравнению с целочисленным индексом?

Ответы на вопрос(2)

Ваш ответ на вопрос