Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.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_Max - Fatal编程技术网

Python 同一列中两行之间的最大值

Python 同一列中两行之间的最大值,python,pandas,max,Python,Pandas,Max,我想添加一个新的列“B1”,它将是当前值“b”和上一个值之间的最大值。 我添加了max函数,但它不起作用: data = { 'a' : [85, 75, 85, 33, 99, 45], 'b' : [35, 45, 83, 88, 56, 20], 'c' : [51, 61, 45, 67, 39, 30], 'd' : [67, 88, 5, 34, 57, 69] } df = pd.DataFrame(data) df['A1'] = df['a

我想添加一个新的列“B1”,它将是当前值“b”和上一个值之间的最大值。 我添加了max函数,但它不起作用:

data = {
    'a' : [85, 75, 85, 33, 99, 45],
    'b' : [35, 45, 83, 88, 56, 20],
     'c' : [51, 61, 45, 67, 39, 30],
     'd' : [67, 88, 5, 34, 57, 69]
}

df = pd.DataFrame(data)
df['A1'] = df['a'].shift(+1)
df['B1'] = max(df['b'], df['b'].shift(+1))
df.head(10)
谢谢你的帮助

如果先创建一个新列,则可以使用.max(axis=1)。您现在要做的是询问两个系列之间哪个系列最大,这就是为什么您会得到一个模糊警告。

使用
dataframe.max(axis=1)


谢谢,它起作用了,我也将为min函数做同样的处理。
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
data = {
    'a' : [85, 75, 85, 33, 99, 45],
    'b' : [35, 45, 83, 88, 56, 20],
     'c' : [51, 61, 45, 67, 39, 30],
     'd' : [67, 88, 5, 34, 57, 69]
}

df = pd.DataFrame(data)
df['A1'] = df['a'].shift(+1)
# df['B1'] = max(df['b'], df['b'].shift(+1))
df['b_shifted']=df["b"].shift()
df["B1"] = df[["b","b_shifted"]].max(axis=1)
df.drop(columns = ["b_shifted"], inplace = True)