为什么我更改系列对象数据类型的python函数不起作用?

时间:2019-01-14 19:49:49

标签: python pandas function

该函数采用一个数据框。 很简单,我希望下面的代码将float列的数据类型更改为int(有效) 如果唯一值小于Series对象的大小的2%(不起作用),则为“类别”

我有一个数据框df,其中的“位置”列只有4个唯一值,因此此列应为“类别”数据类型,但应为“对象”。

所以我执行了memoryHandler(df),但是在该列仍将“对象”作为数据类型之后,为什么?

def memoryHandler(frame):
    for column in frame:
        if frame[column].dtype == float:
            frame[column] = frame[column].astype("int")        
        if frame[column].nunique() < 0.02*frame[column].size:
            frame[column] = frame[column].astype("category")

0 个答案:

没有答案