如何对数据帧进行子采样



我有dfi=(I是索引(

i     a
0     0
1     1
2     2
3     3
4     4
5     5
6     6
7     7
8     8
9     9

并且CCD_ 2=(j是索引(

j     b
0     0
1     1
2     2
3     3
4     4

我想在dfj中添加一个a列,这样输出将是dfi的子采样因子2

j     b     a
0     0     0
1     1     2
2     2     4
3     3     6
4     4     8

我的尝试:

idx = pd.IndexSlice
dfj["a"] = dfi.loc[idx[::2]]

由于dfi.loc[idx[::2]]返回不适合dfj的索引,因此此操作失败。看起来我需要划分索引,或者做其他变通方法。

正确的语法是什么?

感谢

dfi.iloc[::2]dfi.loc[idx[::2]]dfj具有不同的索引,而赋值将为您对齐索引。您可以传递值:

dfj['a'] = dfi['a'].iloc[::2].values

输出:

b  a
j      
0  0  0
1  1  2
2  2  4
3  3  6
4  4  8

最新更新