python - 将 pandas Dataframes 数组转换为 3D NumPy 数组
问题描述
我有一个 numpy 的 pandas Dataframes 数组,我需要将其转换为形式(样本、行、列)的 3D numpy 数组,以便输入 Keras 模型进行训练。我的数据集中有 46 个样本,每个样本是 1101 行 x 64 列。
这是我的一维 numpy 数据帧数组的代码:
static_dfs = []
#read in static csvs as pandas df
#static files is my np array of csv files
for x in range(0, static_files.size):
df = pd.read_csv(static_files[x], sep='\t', skiprows=skip_rows, header=(0))
#append df to list
static_dfs.append(df)
#convert list to np array
static_dfs = np.asarray(static_dfs)
实际上,数组的形状是 (46,) [样本数]。如果我查看数组中的一个数据框(例如 static_dfs[0]),则形状为(1101、64)。
然后我尝试将其转换为 3D numpy 数组:
static_nps = []
for x in range(0, static_dfs.size):
static_nps.append(static_dfs[x].to_numpy())
#convert to numpy array
static_nps = np.asarray(static_nps)
但是它给了我这个错误:
could not broadcast input array from shape (1101,64) into shape (1101)
对于代码行:
#convert to numpy array
static_nps = np.asarray(static_nps)
最糟糕的是,我之前也有过它的工作,但我的一个合作者在我们的一个数据文件中发现了一个错误后,检查了我的代码并对其进行了编辑。现在我似乎无法像以前那样恢复工作并且被卡住了:(
我的 3D 阵列所需的形状看起来像 (46, 1101, 64)。如果有人能解决这个问题,你将是一个巨大的帮助!谢谢
解决方案
推荐阅读
- jquery-blockui - DirtyForms 不能与 $.blockUI 一起正常工作
- python - 如何将 list1 中的所有偶数附加到 list2 中?
- sql-server - AWS RDS MS SQL 无法连接
- windows - docker 上的 Windows 服务无法启动
- python-3.x - wxpython无法导入同一目录中的文件
- java - 使用默认应用打开名称中包含空格(或 &)的文件
- firebase - 无法使用 firebase.auth() 验证 IdToken
- influxdb - Telegraf [[inputs.snmp.field]] 将字符串转换为int?
- python - 为什么我在使用 pip 安装软件包时会收到 protobuff 错误?
- reactjs - 如何使用 React-Router V4 转义路径内的颜色字符 (:)?