如何将3D numpy数组中的所有信息导出到CSV文件

Kaggle数据集和代码链接

我在尝试解决上述Kaggle问题,并希望导出预处理后的CSV文件,以便在Weka上构建模型,但当我尝试将其保存为CSV时,我丢失了一个维度,我希望在CSV中保留所有信息。

请提供相关代码或任何资源帮助我。

谢谢

print (scaled_x)    |x           |y          |z          |label    |1.485231    |-0.661030  |-1.194153  |0    |0.888257    |-1.370361  |-0.829636  |0    |0.691523    |-0.594794  |-0.936247  |0
Fs=20frame_size = Fs*4 #80hop_size = Fs*2 #40    def get_frames(df, frame_size, hop_size):    N_FEATURES = 3    frames = []    labels = []    for i in range(0,len(df )- frame_size, hop_size):        x = df['x'].values[i: i+frame_size]        y = df['y'].values[i: i+frame_size]        z = df['z'].values[i: i+frame_size]                label = stats.mode(df['label'][i: i+frame_size])[0][0]        frames.append([x,y,z])        labels.append(label)            frames = np.asarray(frames).reshape(-1, frame_size, N_FEATURES)    labels = np.asarray(labels)        return frames, labels
x,y = get_frames(scaled_x, frame_size, hop_size)    x.shape, y.shape((78728, 80, 3), (78728,))

回答:

根据您发布的链接,数据是每秒20次采样的时间序列加速度计/陀螺仪数据,每个样本都有一个标签。他们希望将时间序列聚合成帧(相应的标签是给定帧期间最常见的标签)。

因此,frame_size是帧中的样本数,hop_size是每次迭代滑动窗口向前移动的量。换句话说,帧重叠50%,因为hop_size = frame_size / 2

因此,最终您会得到一个包含78728个长度为80的帧的3D数组,每个帧有3个值(xyz)。

编辑:为了回答您关于如何导出为CSV的新问题,您需要将3D帧数组“展平”为2D数组,因为CSV表示的是2D数组。有多种不同的方法可以做到这一点,但我认为最简单的可能是连接最后两个维度,这样每行就是一个帧,由240个值组成(80个样本,每个样本有3个坐标)。然后将标签作为最后一列连接起来。

x_2d = np.reshape(x, (x.shape[0], -1))full = np.concatenate([x, y], axis=1)import pandas as pddf = pd.DataFrame(full)df.to_csv("frames.csv")

如果您还想要正确的列名:

columns = []for i in range(1, x.shape[1] + 1):    columns.extend([f"{i}_X", f"{i}_Y", f"{i}_Z"])columns.append("label")df = pd.DataFrame(full, columns=columns)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注