我有一个如下所示的数据集,如果一个变量中的值大于另一个变量值,我想交换。
数据
start_year end_year
1991 1995
1994 1990
1997 1999
1994 1995
1995 1995
1996 1991
我想交换start_year
大于end_year
的行。
预期产出:
start_year end_year
1991 1995
1990 1994
1997 1999
1994 1995
1995 1995
1991 1996
尝试:
data_created = if(data$start_year > data$end_year, data$start_year == data$end_year &
data$end_year == data$start_year, data$start_year == data$start_year &
data$end_year == data$end_year)
请以这种方式帮助我。
答案 0 :(得分:3)
您可以使用?pmax
和?pmin
来计算元素的最大值和最小值。结合transfrom
,这将是:
transform(df,
start_year = pmin(start_year, end_year),
end_year = pmax(start_year, end_year))
# start_year end_year
#1 1991 1995
#2 1990 1994
#3 1997 1999
#4 1994 1995
#5 1995 1995
#6 1991 1996
答案 1 :(得分:0)
您可以使用from django.utils.decorators import method_decorator
@method_decorator(login_required(login_url='/login/'))
def startPage(request):
....
....
和apply
。
放:
sort
这将逐行对数据进行排序(t(apply(df, 1, sort))
中的1
参数表示"按行")。