Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何对数据帧进行子采样?_Python_Pandas - Fatal编程技术网

Python 如何对数据帧进行子采样?

Python 如何对数据帧进行子采样?,python,pandas,Python,Pandas,我有dfi=(I是索引) 和dfj=(j是索引) 我想在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
=(I是索引)

dfj
=(j是索引)

我想在
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
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