選択した列のすべての項目が文字列であるにもかかわらず、明示的に変換した後でも、Pandasがオブジェクトを持っていると教えてくれるのはなぜですか。
これは私のデータフレームです:
<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)
それらの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
ますか?