当前位置: 首页 > 面试题库 >

将Pandas Dataframe列转换为一个热门标签

陆文博
2023-03-14
问题内容

我有一个类似的熊猫数据框:

  Col1   ABC
0  XYZ    A
1  XYZ    B
2  XYZ    C

通过使用get_dummies()ABC列上的pandas函数,我可以得到:

  Col1   A   B   C
0  XYZ   1   0   0
1  XYZ   0   1   0
2  XYZ   0   0   1

虽然我需要类似的内容,但ABC列的list / array数据类型为:

  Col1    ABC
0  XYZ    [1,0,0]
1  XYZ    [0,1,0]
2  XYZ    [0,0,1]

我尝试使用该get_dummies函数,然后将所有列组合到所需的列中。我找到了很多答案,解释了如何将多个列组合为字符串,如下所示:在pandas /
python中的dataframe中合并两列文本
。但是我想不出一种将它们组合为列表的方法

这个问题介绍了使用sklearn’s的想法OneHotEncoder,但我无法使其正常工作。如何对熊猫数据框的一列进行一次热编码?

还有一件事:我遇到的所有答案都有解决方案,在合并时必须手动键入列名称。有没有一种使用Dataframe.iloc()或拼接机制将列合并为列表的方法?


问题答案:

这是使用sklearn.preprocessing.LabelBinarizer的示例:

In [361]: from sklearn.preprocessing import LabelBinarizer

In [362]: lb = LabelBinarizer()

In [363]: df['new'] = lb.fit_transform(df['ABC']).tolist()

In [364]: df
Out[364]:
  Col1 ABC        new
0  XYZ   A  [1, 0, 0]
1  XYZ   B  [0, 1, 0]
2  XYZ   C  [0, 0, 1]

熊猫替代品:

In [370]: df['new'] = df['ABC'].str.get_dummies().values.tolist()

In [371]: df
Out[371]:
  Col1 ABC        new
0  XYZ   A  [1, 0, 0]
1  XYZ   B  [0, 1, 0]
2  XYZ   C  [0, 0, 1]


 类似资料:
  • 我正在尝试将列表的元组转换为列表,但是我没有成功,所以我有了这个函数 获取输入,例如: ( [1,2,3,4], [7,8,9] ) 并应返回: [1,7,2,8,3,9,4] 我有 结果是: [1,7,2,8,3,9***异常:hw2.hs:29: 1-54:函数函数中的非穷尽模式 我知道我得到这个错误,因为列表是不一样的大小,你们怎么认为我可以解决这个问题

  • 问题内容: 我有以下数据框: 我要这样 堆叠/堆叠似乎不起作用。 问题答案: 您正在寻找: 以及是否要重新排列列:

  • 鉴于 我有一个对象列表。 看起来像 我想将此转换为 i、 e.将个人类别整理成类别列表。 这是实现我想要的当前代码。 有什么方法可以使用流来做到这一点吗 这个问题在本质上类似于Group by和sum对象,比如SQLJavalambdas?但对我没有帮助,因为这里完成了聚合,而这里不是聚合。

  • 我有一个数据框如下: 我希望它是这样的: 我们的目标是为每个< code>Part和< code>Power创建一列,并填写如下所示的值。每台机器都有不同数量的零件,但最多为8个(这将导致列< code>Part8_PowerA和< code>Part8_PowerB)。当机器没有某个部件时,Part_Power的值用-1填充。 我已经寻找了很长时间的解决方案,包括这个,但是我不能适应我的情况,我

  • 在上面的图片中,我展示了两个矩形 矩形1,其x可以从-900到13700不等,Y可以从-600到6458 矩形2,其坐标X可以从0到3000变化,而y可以从0到2000变化 同样:矩形2的起点位于左上角位置(0,0),而矩形1的起点位于左上角位置(宽度/2,高度/2)。 我需要做的是:使用缩放或平移将矩形1的点转换为矩形2的点。 那么,为了将矩形1的坐标转换为矩形2的坐标,< code>x和< c

  • 我是数据科学的初学者,我正在尝试使用Pandas来旋转此数据框架: 所以它变成这样:(标签应该变成列,文件路径变成行。) “标签”列是一组或一类文件路径。我想把它转换成这样一种方式,它适合这个函数:tf。Keras.preprocessing.image.flow_from_dataframe 提前感谢所有帮助我的人。