gpt4 book ai didi

python - 定义用于更改列值和创建新数据集的函数

转载 作者:行者123 更新时间:2023-12-01 09:07:42 25 4
gpt4 key购买 nike

我正在尝试定义一个函数,它将获取数据帧并更改列中的值以创建多个新数据帧。

作为示例,从 df1 看起来像:

df1:

class colB colC
0 1 1b 1c
1 2 2b 2c
2 3 3b 3c
3 4 4b 4c
4 5 5b 5c

我正在尝试创建多个二进制类来实现一对多分类。所以这个函数会创建...

df2:
class colB colC
0 1 1b 1c
1 -1 2b 2c
2 -1 3b 3c
3 -1 4b 4c
4 -1 5b 5c

df3:
class colB colC
0 -1 1b 1c
1 1 2b 2c
2 -1 3b 3c
3 -1 4b 4c
4 -1 5b 5c

df4:
class colB colC
0 -1 1b 1c
1 -1 2b 2c
2 1 3b 3c
3 -1 4b 4c
4 -1 5b 5c

等等。所有唯一值都是1到120之间的增量值。

有什么想法吗?

谢谢

最佳答案

使用np.identity(我将您的列名称更改为class_,因此它不使用 protected 关键字):

arr = np.identity(len(df1))
arr[arr==0] = -1

dfs = [df1.assign(class_=arr[:, i]) for i in range(len(df1))]

for d in dfs:
print(d, end='\n\n')

   class_ colB colC
0 1.0 1b 1c
1 -1.0 2b 2c
2 -1.0 3b 3c
3 -1.0 4b 4c
4 -1.0 5b 5c

class_ colB colC
0 -1.0 1b 1c
1 1.0 2b 2c
2 -1.0 3b 3c
3 -1.0 4b 4c
4 -1.0 5b 5c

class_ colB colC
0 -1.0 1b 1c
1 -1.0 2b 2c
2 1.0 3b 3c
3 -1.0 4b 4c
4 -1.0 5b 5c

class_ colB colC
0 -1.0 1b 1c
1 -1.0 2b 2c
2 -1.0 3b 3c
3 1.0 4b 4c
4 -1.0 5b 5c

class_ colB colC
0 -1.0 1b 1c
1 -1.0 2b 2c
2 -1.0 3b 3c
3 -1.0 4b 4c
4 1.0 5b 5c

关于python - 定义用于更改列值和创建新数据集的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51913841/

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