【发布时间】:2020-11-04 19:12:43
【问题描述】:
我正在尝试检查每个文件中我的产品的条件为真的次数,但只需要检查条件何时满足并且两个列都已填充,因此我正在使用此代码
cnt = big_frame.groupby('Symbol').apply(lambda g:((g.A001 > g.A002) & g.A001.notnull() & g.A002.notnull()).sum())
df['Data_Count'] = df.Contract.map(cnt)
检查条件,如果两个列都已填充并且它对我来说工作正常,除了当它在任何列中遇到 NAN 时,它会在 cnt 中打印 0,因此稍后在我映射时在“Data_Count”中打印cnt 这对我不利,因为我必须稍后计算百分比。
所以,我想要检查 A001 和 A002,如果其中任何一个有 NAN,它应该在 cnt 列中打印 NAN 而不是 0。谢谢
编辑:
这是我的数据集(只是我跳过了所有其他行和列的相关列)
Symbol A001 A002
O.U20 0.005 NAN
O.Z20 0.005 0.0025
O.H21 0.005 NAN
O.M21 0.005 NAN
O.U21 0.005 NAN
O.Z21 0.005 1
O.H22 0.005 0.003
O.M22 0.005 0.005
O.U20 0.005 NAN
O.Z20 0.005 0.0025
O.H21 0.005 NAN
O.M21 0.005 NAN
O.U21 0.005 NAN
O.Z21 0.005 1
O.H22 0.005 0.003
O.M22 0.005 0.005
所以根据这个我希望cnt列是
cnt
NAN
2
NAN
NAN
NAN
0
2
0
但现在它打印的是 0 而不是 NAN
0
2
0
0
0
0
2
0
【问题讨论】:
-
请提供示例数据和预期输出,以提高您获得回复的机会。
-
问题已编辑
标签: python python-3.x pandas