問題:
儘管嘗試明確轉換a 中的指定列DataFrame 到字串,它們保留為dtype 'object'。檢查各個列值確認它們確實是字串。
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) Column 'attr2' remains as dtype 'object' despite conversion: convert attr2 to string
說明:
Pandas 使用 dtype 'object' 來描述包含可變長度資料類型的列,例如字串。這與“int64”和“float64”等固定長度資料類型不同。在內部,Pandas 使用指向「物件」ndarray 中的字串物件的指標來儲存字串資料。
int64 array: [1, 2, 3, 4] object array: [pointer to string 'John', pointer to string 'Mary', pointer to string 'Bob', pointer to string 'Alice']
「dtype 物件」並不表示其中的物件不是字串。每個字串物件仍然駐留在記憶體中,並且可以透過「物件」ndarray 中的指標存取。
為了確保 Pandas 將列識別為字串,請確保這些列中的所有元素都是一致的字串。此外,也可以使用 .apply(str) 或 .astype('string') 等方法將元素轉換為字串。
以上是為什麼我的 DataFrame 列在字串轉換後顯示'Object”資料類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!