草庐IT

采样篇

全部标签

python - 根据给定的分布对数据帧进行采样

我如何根据给定的类\标签分布值对pandas数据框或graphlabsframe进行采样,例如:我想对具有标签\类列的数据框进行采样以选择行,以便平均获取每个类标签,从而具有每个类标签的相似频率对应于类标签的均匀分布。或者最好是根据我们想要的类别分布获取样本。+------+-------+-------+|col1|clol2|class|+------+-------+-------+|4|45|A|+------+-------+-------+|5|66|B|+------+-------+-------+|5|6|C|+------+-------+-------+|4|6|

python - 根据弃用警告修改 OHLC 重采样代码

问题:在使用市场数据并将日内数据重新采样到每日时间范围时,如下所示:ohlc_dict={'Open':'first','High':'max','Low':'min','Last':'last','Volume':'sum'}data.resample('1D',how=ohlc_dict).tail().dropna()OpenHighLastLowVolumeTimestamp2016-12-27163.55164.18164.11163.55144793.002016-12-28164.18164.33164.22163.89215288.002016-12-29164.441

python - 使用 TensorFlow 对图像中的点进行插值采样

给定一个灰度图像I作为2D张量(维度W,H)和一个坐标C(Dim.None,2)的张量。我想将C的行解释为I中的坐标,使用某种插值在这些坐标处对I进行采样(双线性可能会很好对于我的用例),并将结果值存储在一个新的张量P中(维度为无,即一维的条目数与C的行数一样多)。TensorFlow是否可以(有效地)实现这一点?我所能找到的只是调整图像大小(如果你愿意,可以进行等距重采样)的函数。但是我无法在坐标列表中找到任何开箱即用的东西。即我本以为会找到类似tf.interpolate()函数的东西:I=tf.placeholder("float",shape=[128,128])C=tf.pl

python - 平衡 numpy 数组与过采样

请帮我找到一种干净的方法来从现有数组中创建一个新数组。如果任何类的示例数小于该类中的最大示例数,则应该进行过采样。样本应该从原始数组中提取(随机或顺序都没有区别)比方说,初始数组是这样的:[2,29,30,1][5,50,46,0][1,7,89,1][0,10,92,9][4,11,8,1][3,92,1,0]最后一列包含类:classes=[0,1,9]类的分布如下:distrib=[2,3,1]我需要的是创建一个新数组,其中所有类的样本数量相等,从原始数组中随机抽取,例如[5,50,46,0][3,92,1,0][5,50,46,0]#oneexampleadded[2,29,3

python - 重采样,插值矩阵

我正在尝试插入一些数据以进行绘图。例如,给定N个数据点,我希望能够生成一个由10*N左右的插值数据点组成的“平滑”图。我的方法是生成一个N×10*N矩阵,然后计算原始向量与我生成的矩阵的内积,得到一个1×10*N向量。我已经计算出我想用于插值的数学,但我的代码很慢。我是Python的新手,所以我希望这里的一些专家能给我一些想法,让我可以尝试加速我的代码。我认为部分问题在于生成矩阵需要调用以下函数10*N^2次:defsinc(x):importmathtry:returnmath.sin(math.pi*x)/(math.pi*x)exceptZeroDivisionError:ret

python - 对 numpy 数组进行子采样/平均

我有一个带有float的numpy数组。我想要的(如果它还不存在的话)是一个函数,它给我一个新数组,该数组包含给定数组中每个x点的平均值,例如子采样(与插值相反(?)).例如sub_sample(numpy.array([1,2,3,4,5,6]),2)给出[1.5,3.5,5.5]例如可以去除剩菜,例如sub_sample(numpy.array([1,2,3,4,5]),2)给出[1.5,3.5]提前致谢。 最佳答案 使用NumPy例程你可以尝试类似的东西importnumpyx=numpy.array([1,2,3,4,5,6

python - 使用 pandas,我如何有效地按组对大型 DataFrame 进行子采样?

我正在尝试根据分组对DataFrame的行进行子采样。这是一个例子。假设我定义了以下数据:frompandasimport*df=DataFrame({'group1':["a","b","a","a","b","c","c","c","c","c","a","a","a","b","b","b","b"],'group2':[1,2,3,4,1,3,5,6,5,4,1,2,3,4,3,2,1],'value':["apple","pear","orange","apple","banana","durian","lemon","lime","raspberry","durian","

python - 使用另一个时间序列的索引对时间序列重新采样

我有2个具有相同列但日期时间索引不同的数据框。我想对其中一个重新采样以使用另一个的索引,并在另一个索引中没有数据的任何日期前向填充数据。importpandasaspdimportnumpyasnpfromdatetimeimportdatetimeasdta_values=np.random.randn(4,4)a_index=[dt(2012,3,16),dt(2012,3,19),dt(2012,3,20),dt(2012,3,21)]a=pd.DataFrame(data=a_values,index=a_index)b_values=np.trunc(np.random.ra

python - 使用自定义周期重新采样

是否有一种“食谱”方法可以对具有(半)不规则周期的DataFrame进行重采样?我有一个每天间隔的数据集,并希望它重新采样到有时(在科学文献中)被命名为dekad's的数据集。我不认为它有一个合适的英文术语,但它基本上将一个月分成三个〜十天的部分,其中第三个是8到11天之间的任何剩余部分。我自己提出了两种解决方案,一种针对这种情况,另一种更通用,针对任何不规则时期。但两者都不是很好,所以我很好奇其他人如何处理这类情况。让我们从创建一些示例数据开始:importpandasaspdbegin=pd.datetime(2013,1,1)end=pd.datetime(2013,2,20)d

python - Scipy 插值如何将 3x3 矩阵调整大小/重新采样为 5x5?

编辑:Paul在下面解决了这个问题。谢谢!我正在尝试将3x3矩阵重新采样(放大)到5x5,用interpolate.interp2d或interpolate.RectBivariateSpline(或任何有效的方法)填充中间点。如果有一个简单的现有函数可以执行此操作,我想使用它,但我还没有找到它。例如,一个函数的工作方式如下:#upscale2x2to4x4matrixSmall=([[-1,8],[3,5]])matrixBig=matrixSmall.resample(4,4,cubic)所以,如果我从3x3矩阵/数组开始:0,-2,0-2,11,-20,-2,0我想计算一个新的5