DataFrame中的字符串,但dtype是对象。
- 论坛
- DataFrame中的字符串,但dtype是对象。
8 浏览
DataFrame中的字符串,但dtype是对象。
为什么Pandas告诉我有对象,尽管所选列中的每个项都是字符串——即使在显式转换之后。这是我的DataFrame:
Int64Index: 56992 entries, 0 to 56991
Data columns (total 7 columns):
id 56992个非空值
attr1 56992个非空值
attr2 56992个非空值
attr3 56992个非空值
attr4 56992个非空值
attr5 56992个非空值
attr6 56992个非空值
dtypes: int64(2), object(5)
其中五个是dtype为object的。我明确将这些对象转换为字符串:
for c in df.columns:
if df[c].dtype == object:
print "将", df[c].name, "转换为字符串"
df[c] = df[c].astype(str)
然后,df["attr2"]仍然具有dtype为object,尽管type(df["attr2"].ix[0]显示为str,这是正确的。
Pandas区分int64、float64和object。当没有dtype为str时,背后的逻辑是什么?为什么str被包含在object中?