如何对两列或更多列进行条件排序。.我只是尝试了以下代码。有没有更好的写方法?
def comp_gradient_for_column(
self, prod_df: pd.DataFrame
) -> None:
"""
Compute the gradient for a given column and insert it in the dataframe
Arguments:
prod_df (pd.DataFrame): sub-dataframe to work on
Returns:
None:
"""
values = prod_df[column_name].values
gradients = np.gradient(values)
for idx, val in zip(prod_df.index, gradients):
self.df.loc[idx, "foo_column"] = val
答案 0 :(得分:1)
您可以尝试以下方法:
def prime_chk(n):
n = int(input('Number to be checked:'))
print(n)
for i in Range(n):
If n % i == 0 & i != n & i != 1:
print(i)
else:
Print('Well done! You have found a prime.')
它总是按升序排序,但在某些情况下为负数,这当然会导致降序。
手册https://dev.mysql.com/doc/refman/5.7/en/case.html说:
“对每个WHEN子句search_condition表达式进行求值,直到一个为真为止,这时将执行其对应的THEN子句statement_list。如果没有search_condition相等,则执行ELSE子句statement_list(如果存在)。”
这意味着按指定的顺序对表达式求值。
换句话说,仅当CASE WHEN d.receipt = 1 THEN pr.account
WHEN d.receipt = 0 THEN -pr.amount
WHEN c.receipt = 1 THEN pr.account
ELSE -pr.amount
END
为NULL时,才评估第三条件(c.receipt = 1
)。