栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何从包含列表的pandas列中进行一次编码?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何从包含列表的pandas列中进行一次编码?

我们还可以使用sklearn.preprocessing.MultiLabelBinarizer:

通常,我们想将 稀疏 Dataframe用于现实世界的数据,以节省大量RAM。

稀疏解决方案

from sklearn.preprocessing import MultiLabelBinarizermlb = MultiLabelBinarizer(sparse_output=True)df = df.join( pd.Dataframe.sparse.from_spmatrix(     mlb.fit_transform(df.pop('Col3')),     index=df.index,     columns=mlb.classes_))

结果:

In [38]: dfOut[38]:  Col1  Col2  Apple  Banana  Grape  Orange0    C  33.0      1       1      0       11    A   2.5      1       0      1       02    B  42.0      0       1      0       0In [39]: df.dtypesOut[39]:Col1     objectCol2    float64Apple     Sparse[int32, 0]Banana    Sparse[int32, 0]Grape     Sparse[int32, 0]Orange    Sparse[int32, 0]dtype: objectIn [40]: df.memory_usage()Out[40]:Index     128Col1       24Col2       24Apple      16    #  <--- NOTE!Banana     16    #  <--- NOTE!Grape       8    #  <--- NOTE!Orange      8    #  <--- NOTE!dtype: int64

致密溶液

mlb = MultiLabelBinarizer()df = df.join(pd.Dataframe(mlb.fit_transform(df.pop('Col3')),    columns=mlb.classes_,    index=df.index))

结果:

In [77]: dfOut[77]:  Col1  Col2  Apple  Banana  Grape  Orange0    C  33.0      1       1      0       11    A   2.5      1       0      1       02    B  42.0      0       1      0       0



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/624994.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号