Python 具有 NaN 值的数据帧行向最小值和最大值
Python Dataframe rowwise min and max with NaN values
我的数据框有 nans。但我试图找到行明智的最小值和最大值。我怎么找到它。
df = pd.DataFrame({"A":[12,NaN,13],"B":[45,12,65],"C":[63,78,NaN]})
df=
A B C
0 12 45 63
1 NaN 12 78
2 13 65 NaN
我试图在每一行中找到最小值和最大值,并在 A
B
和 C
列中找到它们之间的差异。
我的代码:
poacols = ['A','B','C']
df['dif'] = np.nanmax(df[poacols])-np.nanmin(df[poacols])
当前输出:
df['dif'] =
0 66
1 66
2 66
预期输出:
df['dif'] =
0 51
1 66
2 52
我们应该添加轴=1,检查每行的最小值和最大值
np.nanmax(df[poacols],1)-np.nanmin(df[poacols],1)
Out[81]: array([51., 66., 52.])
我的数据框有 nans。但我试图找到行明智的最小值和最大值。我怎么找到它。
df = pd.DataFrame({"A":[12,NaN,13],"B":[45,12,65],"C":[63,78,NaN]})
df=
A B C
0 12 45 63
1 NaN 12 78
2 13 65 NaN
我试图在每一行中找到最小值和最大值,并在 A
B
和 C
列中找到它们之间的差异。
我的代码:
poacols = ['A','B','C']
df['dif'] = np.nanmax(df[poacols])-np.nanmin(df[poacols])
当前输出:
df['dif'] =
0 66
1 66
2 66
预期输出:
df['dif'] =
0 51
1 66
2 52
我们应该添加轴=1,检查每行的最小值和最大值
np.nanmax(df[poacols],1)-np.nanmin(df[poacols],1)
Out[81]: array([51., 66., 52.])