64
爲什麼Pandas告訴我我有對象,儘管所選列中的每個項目都是一個字符串 - 即使在顯式轉換之後。數據框中的字符串,但dtype是對象
這是我的數據框:
<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
?
所以我認爲你說的話是,「不要擔心。這應該是這個樣子」? –