gpt4 book ai didi

python - 将多列转换为 Pandas 中的类别。申请?

转载 作者:太空狗 更新时间:2023-10-29 21:34:06 24 4
gpt4 key购买 nike

考虑一个数据框。我想将一组列 to_convert 转换为类别。

我当然可以做到以下几点:

for col in to_convert:
df[col] = df[col].astype('category')

但令我惊讶的是以下内容没有返回数据框:

df[to_convert].apply(lambda x: x.astype('category'), axis=0)

这当然会使以下内容不起作用:

df[to_convert] = df[to_convert].apply(lambda x: x.astype('category'), axis=0)

为什么 apply (axis=0) 返回一个系列,即使它应该一一作用于列?

最佳答案

这只是在 master 中修复,因此将在 0.17.0 中修复,请参阅问题 here

In [7]: df = DataFrame({'A' : list('aabbcd'), 'B' : list('ffghhe')})

In [8]: df
Out[8]:
A B
0 a f
1 a f
2 b g
3 b h
4 c h
5 d e

In [9]: df.dtypes
Out[9]:
A object
B object
dtype: object

In [10]: df.apply(lambda x: x.astype('category'))
Out[10]:
A B
0 a f
1 a f
2 b g
3 b h
4 c h
5 d e

In [11]: df.apply(lambda x: x.astype('category')).dtypes
Out[11]:
A category
B category
dtype: object

关于python - 将多列转换为 Pandas 中的类别。申请?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30991532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com