大熊猫以不同的间隔频率选择/采样

时间:2017-03-07 01:45:45

标签: pandas numpy multidimensional-array dataframe broadcasting

我有一个2d数组/ DF

>>> X_df.shape
Out[36]: (138, 2164)

此数组的每一行都有一个给定列的值(所有行都不同),后跟nans:

>>> X_df.head(1).T
Out[28]: 
          Row1
0       1208.380
1       1207.600
2       1207.400
...          ...
247     1213.030
248     1212.950
249     1213.000
...          ...
1914         nan
1915         nan
1916         nan

我需要创建另一个形状(138,n)的数组/ DF Y,它从选择等间距的X_df的每一行中得到n(= 3或5或10)个值。因此,如果X_df第1行有100个元素,第2行有50,那么对于n = 10,Y行1 = X_df第1行中的每第10个元素,Y行2 = X_df第2行中的每第5个元素。

我创建了一个函数来获取每个索引中的一组数值。

>>> last= X_df.apply(last_index,axis=1)
>>> last
Out[34]: 
Row1     360
...      ...  
Row45    1438

获得所需Y阵列/ DF的最佳方法是什么?想在这里避免循环。我试过了X_df[::last],但却出错"ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()" 我调查了np.meshgrid,但这似乎并不重要。另外看了DataFrame.sample,但这似乎只对随机抽样有用。

0 个答案:

没有答案