gpt4 book ai didi

python - 如何旋转行的唯一值并标记其出现?

转载 作者:行者123 更新时间:2023-12-01 07:35:47 26 4
gpt4 key购买 nike

我正在寻找以下情况的解决方案:

  1. 当 df 仅包含一维时,如何对 df 进行透视,使 col 值变为列?

  2. 如何继续操作,以便根据这些行值在前一列中出现的情况,在每列中获得 0 或 1 的结果?

这样说明起来会更容易。所以从这种数据框来看:

df =

DATA
cat1
dog1
cat2
dog2
cat3
dog3
...

对于这种数据框:

df =

Animal cat1 dog1 cat2 dog2 cat3 dog3 ...
cat1 1 0 0 0 0 0 ...
dog1 0 1 0 0 0 0 ...
cat2 0 0 1 0 0 0 ...
dog2 0 0 0 1 0 0 ...
cat3 0 0 0 0 1 0 ...
dog3 0 0 0 0 0 1 ...
...
cat1 1 0 0 0 0 0 ...
dog1 0 1 0 0 0 0 ...

首先,我尝试收集所有唯一值,然后将其重新整形为 pd.DataFrame 因为它是一个 np 数组。然后我尝试使用枢轴。我知道它应该有“索引”、“列”和“值”等参数,但就我而言,我只有一个维度(只有一列)。

to_reschape = df.Animal.unique()
type(to_reschape)
dataset = pd.DataFrame(to_reschape)
dataset.pivot()

KeyError: None

最佳答案

您可以使用此命令:

哪里 df,

   DATA
0 cat1
1 dog1
2 cat2
3 dog2
4 cat3
5 dog3
6 dog1

使用,

pd.get_dummies(df.set_index(df.DATA), prefix='', prefix_sep='')

输出:

      cat1  cat2  cat3  dog1  dog2  dog3
DATA
cat1 1 0 0 0 0 0
dog1 0 0 0 1 0 0
cat2 0 1 0 0 0 0
dog2 0 0 0 0 1 0
cat3 0 0 1 0 0 0
dog3 0 0 0 0 0 1
dog1 0 0 0 1 0 0

关于python - 如何旋转行的唯一值并标记其出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56997331/

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