首页 > 解决方案 > 如何对由数字列和分类列组成的数据框进行下采样?

问题描述

我有一个数据框,由来自 64 个通道和 3 个分类列和时间戳列的 EEG 信号组成。我想对数值列进行下采样并消除相应的分类值。我使用了 pandas.resample,但它将我的分类值转换为 NaN。我也使用过signal.decimate,但它也会在分类值上引发类型错误。

关于我可以做些什么来达到预期结果的任何建议?

DataFrame的结构是这样的:

headers = list(range(64)) #Numerical columns to be down sampled

headers.append('ActualChar', 'PossibleCharCol', 'ResultLabel' , TimeSequence') #Categorical columns just to be eliminated without any change in value.

数据框: 数据框的结构 完整的数据框由 371740 行组成

可以从数据集 IIb 下的http://www.bbci.de/competition/ii/#datasets访问数据。

标签: pythonpandas

解决方案


最简单的方法是生成随机整数。

n = np.random.randint(0,300,size=40)

然后做,df.iloc[n,:]


推荐阅读