Строки в 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