Min使用右索引python
我是Python新手。我在这个简单的任务上被困了很长一段时间,但似乎找不到答案 我有一个Min使用右索引python,python,pandas,Python,Pandas,我是Python新手。我在这个简单的任务上被困了很长一段时间,但似乎找不到答案 我有一个pandasdataframe,我所要做的就是取两列的最小值,但其中一列滞后 enter code x = {'A': pd.Series([1,3,6,5,3,2]), 'B': pd.Series([4,2,8,4,4,2])} x1 = pd.DataFrame(x) x1.rolling(2).apply
pandas
dataframe,我所要做的就是取两列的最小值,但其中一列滞后
enter code x = {'A': pd.Series([1,3,6,5,3,2]),
'B': pd.Series([4,2,8,4,4,2])}
x1 = pd.DataFrame(x)
x1.rolling(2).apply(lambda x: np.min(x['A'].iloc[1],x['B'].iloc[0],axis=1))
这给了我一个错误:
IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
如果代码有效,答案应该是
c = [NaN,3,2,5,3,2]
在调用min之前,需要移动数据帧的值
df = pd.DataFrame({'A': [1,3,6,5,3,2],
'B': [4,2,8,4,4,2]})
df.B= df.B.shift(+1)
df.min(axis=1, skipna=False)
这应该可以解决问题,这就是你需要的吗
np.minimum(x1.A.values,x1.B.shift().values)
Out[603]: array([nan, 3., 2., 5., 3., 2.])