Tại sao Pandas nói với tôi rằng tôi có các đối tượng, mặc dù mọi mục trong cột đã chọn là một chuỗi - ngay cả sau khi chuyển đổi rõ ràng.
Đây là DataFrame của tôi:
<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)
Năm trong số đó là dtype object. Tôi chuyển đổi rõ ràng các đối tượng đó thành chuỗi:
for c in df.columns:
if df[c].dtype == object:
print "convert ", df[c].name, " to string"
df[c] = df[c].astype(str)
Sau đó, df["attr2"]vẫn có dtype object, mặc dù type(df["attr2"].ix[0]tiết lộ str, đó là chính xác.
Gấu trúc phân biệt giữa int64và float64và object. Logic đằng sau nó là gì khi không có dtype str? Tại sao một strđược bao phủ bởi object?



