import pandas as pd
import numpy as np
a = np.array([[1, 2], [3, np.nan]])
np.nanmin(a, axis=0)
array([1., 2.])
我想使用相同的逻辑,但在数据帧列上,并将列的每个值与整数进行比较
用例:
MC_cond = df['MODEL'].isin(["MC"])
df_lgd_type = df['LGD_TYPE'].isin(["FIXED"])
df_without_lgd_type = ~(df_lgd_type)
x = np.nanmin((1,df.loc[MC_cond & df_without_lgd_type,'A'] + df.loc[MC_cond &
df_without_lgd_type,'B']))
将A列和B列之和与1进行比较
即使没有
np.nanmin
,这也应该可以做到。我希望我已经从你的稀疏描述中正确地理解了一切我假设您还希望替换求和后剩余的
NaN
值。所以我们用1
填充这些值,然后在1
处将所有值剪裁为max例如:
如果您不希望一列中的NaN值导致行和也为NaN,只需在以下之前填充它们:
为了完整起见,这将是一个与您的方法类似的纯numpy解决方案:
相关问题 更多 >
编程相关推荐