gpt4 book ai didi

python - 将 pandas 虚拟添加到 numpy 数组中?

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

我有一个代表森林火灾的数据集。该数据集具有数值特征和分类特征。这些分类是日期和月份。我将这些分类值更改为数字,例如:

Jan -> 1
Feb -> 2
March ->3
.
.
Dec -> 12

Mon -> 1
Tue -> 2
.
.
Sun ->7

但是使用这种方法是不正确的。我应该使用假人来使其正确。

我的数据集的一小部分是:

7   5   mar fri 86.2    26.2    94.3    5.1 8.2 51  6.7 0
7 4 oct tue 90.6 35.4 669.1 6.7 18 33 0.9 0
7 4 oct sat 90.6 43.7 686.9 6.7 14.6 33 1.3 0

我想我必须将其更改为

7   5   [0,0,1,0,0,0,0,0,0,0,0,0]   [0,0,0,0,1,0,0] 86.2    26.2    94.3    5.1 8.2 51  6.7 0
7 4 [0,0,0,0,0,0,0,0,0,1,0,0] [0,1,0,0,0,0,0] 90.6 35.4 669.1 6.7 18 33 0.9 0
7 4 [0,0,0,0,0,0,0,0,0,1,0,0] [0,0,0,0,0,1,0] 90.6 43.7 686.9 6.7 14.6 33 1.3 0

现在我做了什么:

data[:, 2] = pandas.get_dummies(data[:,2])
data[:, 3] = pandas.get_dummies(data[:,3])

这个方法并不明显。我写的时候就知道了。

could not broadcast input array from shape (517,12) into shape (517)

如何将虚拟对象合并到我的 numpy 数组中?

最佳答案

这比您尝试过的更容易:

import pandas as pd

df = pd.read_clipboard()
df1 = pd.get_dummies(df)

df
Out[33]:
a b m d e f g h i j k l
0 7 5 mar fri 86.2 26.2 94.3 5.1 8.2 51 6.7 0
1 7 4 oct tue 90.6 35.4 669.1 6.7 18.0 33 0.9 0
2 7 4 oct sat 90.6 43.7 686.9 6.7 14.6 33 1.3 0


df1
Out[35]:
a b e f g h i j k l m_mar m_oct d_fri d_sat \
0 7 5 86.2 26.2 94.3 5.1 8.2 51 6.7 0 1 0 1 0
1 7 4 90.6 35.4 669.1 6.7 18.0 33 0.9 0 0 1 0 0
2 7 4 90.6 43.7 686.9 6.7 14.6 33 1.3 0 0 1 0 1

d_tue
0 0
1 1
2 0

关于python - 将 pandas 虚拟添加到 numpy 数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50297354/

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