Строки в DataFrame, но dtype - это объект

Почему Панды говорят мне, что у меня есть объекты, хотя каждый элемент в выбранном столбце является строкой - даже после явного преобразования.

Это мой DataFrame:


Int64Index: 56992 entries, 0 to 56991
Data columns (total 7 columns):
id            56992  non-null values
attr1         56992  non-null values
attr2         56992  non-null values
attr3         56992  non-null values
attr4         56992  non-null values
attr5         56992  non-null values
attr6         56992  non-null values
dtypes: int64(2), object(5)

Пять из нихdtype object, Я явно преобразовываю эти объекты в строки:

for c in df.columns:
    if df[c].dtype == object:
        print "convert ", df[c].name, " to string"
        df[c] = df[c].astype(str)

Затем,df["attr2"] все еще имеетdtype object, хотяtype(df["attr2"].ix[0] показываетstr, что правильно.

Панды различаютint64 а такжеfloat64 а такжеobject, Какая логика стоит за этим, когда нетdtype str? Почемуstr покрыт ?object

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

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