เหตุใดนุ่นจึงบอกฉันว่าฉันมีวัตถุแม้ว่าทุกรายการในคอลัมน์ที่เลือกจะเป็นสตริง - แม้ว่าจะมีการแปลงอย่างชัดเจนก็ตาม
นี่คือ DataFrame ของฉัน:
<class 'pandas.core.frame.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
?