Pandas Swifter未在数据帧上应用函数
我有一个熊猫数据框Pandas Swifter未在数据帧上应用函数,pandas,dataframe,swifter,Pandas,Dataframe,Swifter,我有一个熊猫数据框数据,结构如下 data.dtypes() id object comment_text object toxic int64 severe_toxic int64 obscene int64 threat int64 insult int64 identity_hate int64 dtype: object 由于int64占用更多的
数据
,结构如下
data.dtypes()
id object
comment_text object
toxic int64
severe_toxic int64
obscene int64
threat int64
insult int64
identity_hate int64
dtype: object
由于int64
占用更多的空间,因此我尝试将数字列转换为uint8。
以下是我的代码
data[["toxic", "severe_toxic", "obscene", "threat", "insult", "identity_hate"]] = data[
["toxic", "severe_toxic", "obscene", "threat", "insult", "identity_hate"]
].swifter.apply(np.uint8,axis=0)
因为我想将函数应用于每一列,所以我使用了axis=0
,这也是默认值。但是,即使在运行了这段代码之后,这里仍然是新的输出
data.dtypes
id object
comment_text object
toxic int64
severe_toxic int64
obscene int64
threat int64
insult int64
identity_hate int64
dtype: object
数据类型似乎保持不变。但是如果我对一个系列使用swifter
选项,例如
data['toxic']=data['toxic'].swifter.apply(np.uint8)
我们得到如下输出
data.dtypes
id object
comment_text object
toxic uint8
severe_toxic int64
obscene int64
threat int64
insult int64
identity_hate int64
dtype: object
看起来,swifter
正在处理该系列,但在处理数据帧时效果不太好。我可以得到一些关于如何修改或正确编写数据帧代码的帮助吗。提前谢谢