为了账号安全,请及时绑定邮箱和手机立即绑定

Series中的布尔值DataFrame及其自身在Pandas中

Series中的布尔值DataFrame及其自身在Pandas中

倚天杖 2021-03-30 21:06:31
我有一个Pandas DataFrame,其中的类别信息存储在一列中,像这样(只有2个类别,但有很多项):| index | item      | category ||-------|-----------|----------|| 0     | water     | drink    || 1     | pasta     | food     || 2     | burger    | food     || 3     | pepsi     | drink    || 4     | chocolate | food     |我想创建一个掩码DataFrame,但我不想使用类别名称,而是希望将每个项目既作为行又作为列。相同类别的项目的条目数为1,否则为0:| item      | water | pasta | burger | pepsi | chocolate ||-----------|-------|-------|--------|-------|-----------|| water     | 1     | 0     | 0      | 1     | 0         || pasta     | 0     | 1     | 1      | 0     | 1         || burger    | 0     | 1     | 1      | 0     | 1         || pepsi     | 1     | 0     | 0      | 1     | 0         || chocolate | 0     | 1     | 1      | 0     | 1         |在熊猫中,最有效的方法是什么?我不知道是否有一个快速的解决方法,因为在我能找到的所有文档示例中,布尔型掩码都使用类别名称作为列标题(而不是将项目本身既作为列又作为行)。
查看完整描述

1 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

我的评论不正确,这需要进行一些预处理


首先,merge关于类别:


df1 = df.merge(df, on='category')

pd.crosstab


pd.crosstab(df1.item_x, df1.item_y)


item_y     burger  chocolate  pasta  pepsi  water

item_x

burger          1          1      1      0      0

chocolate       1          1      1      0      0

pasta           1          1      1      0      0

pepsi           0          0      0      1      1

water           0          0      0      1      1


查看完整回答
反对 回复 2021-04-09
  • 1 回答
  • 0 关注
  • 259 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信