python - 将熊猫假人添加到numpy数组中?
问题描述
我有一个代表森林火灾的数据集。该数据集具有数值特征和分类特征。这些分类是日期和月份。我将这些分类值更改为数字,例如:
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
推荐阅读
- kubernetes - 即使容器应用程序正常运行,区域网络端点组也不健康
- python - 使用 tkinter 创建 GUI,并根据用户输入获取按钮项目信息
- flutter - 如何从 StreamBuilder 和 Firebase 获取正确的列表?
- c++ - 如何读取 CBTProc HCBT_CLICKSKIPPED wParam 值?
- spring - AnnotationConfigApplicationContext 构造函数无法在集成测试中处理@Value 的注入
- sql - 如何比较 Power BI 中的两位 SQL 代码?
- visual-studio-code - 2FA 与 VS Code 远程 SSH?
- email - 为什么我的图像在首次加载时未显示在旧电子邮件客户端上?
- javascript - React Draft Wysiwyg onPaste 事件不提供剪贴板信息
- visual-studio-code - fs.writeFile 中的路径更改