python - 如何打乱矩阵的行及其相应的标签?
问题描述
我正处于构建我的第一个神经网络的早期阶段,而且我是 python 的新手。
我遇到了障碍,因为我不知道如何编写代码来用相应的标签打乱我的数据。我导入了我的 csv,并使用 numpy 创建了一个矩阵。我还为我的标签创建了一个矩阵
filepath = '/My Drive/t_data9(1).csv'
my_data = pd.read_csv('/content/gdrive' + filepath, index_col=0)
my_data_matrix = np.array(my_data)
labels = [0]*5000 + [1]*5000
labels_matrix = np.array(labels)
我可以访问我的数据,所以它就在那里。我只需要将它混合起来,然后我就可以分离出一些训练和验证行并将其放入我正在使用 keras 构建的 NN 中。请指教。
解决方案
您可以concat
将特征和标签放入单个数据框中,并执行以下操作来打乱整个样本:
虚拟示例
import pandas as pd
my_data = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3'],
'C': ['C0', 'C1', 'C2', 'C3'],
'D': ['D0', 'D1', 'D2', 'D3']},
index=[0, 1, 2, 3])
my_data.head()
A B C D
0 A0 B0 C0 D0
1 A1 B1 C1 D1
2 A2 B2 C2 D2
3 A3 B3 C3 D3
和标签
labels = [0]*2 + [1]*2
my_data['labels'] = labels
my_data.head()
A B C D labels
0 A0 B0 C0 D0 0
1 A1 B1 C1 D1 0
2 A2 B2 C2 D2 1
3 A3 B3 C3 D3 1
和洗牌:
my_data = my_data.sample(frac=1).reset_index(drop=True) # shuffling
my_data.head()
A B C D labels
0 A2 B2 C2 D2 1
1 A0 B0 C0 D0 0
2 A3 B3 C3 D3 1
3 A1 B1 C1 D1 0
推荐阅读
- python - 在 C++ 和 python 之间共享数据,实现了 keras\tensorflow
- c++ - C++ 引用和瞬态对象
- javascript - 角度组件内的表单不提交
- html - 将 Gif 图像转换为 Base64,同时保留循环计数
- php - 在 Mac 上设置 Laravel php artisan 迁移错误:
- c# - 应用程序洞察日志丢失
- sql-server - 尝试执行类型转换时发生错误
- java - SQL 语句应该返回 2 行但只返回 1
- python - 子窗口的 QStyleSheet (QMainWindows) - 添加框架边框
- angular6 - 当使用带有 Angular 的 Ag Grid 时,是否可以在不更改源数据的情况下禁用不平衡组?