Python 3.x 基于列值将Python数据帧拆分为多个

Python 3.x 基于列值将Python数据帧拆分为多个,python-3.x,pandas-groupby,Python 3.x,Pandas Groupby,下面是我从excel中读取的当前数据框最终数据: 现在我想把datframe分成两个,一个数据帧包含所有范围为零或nan的行,其余的行在另一个数据帧中。我如何才能做到这一点,我尝试了下面的代码,但没有工作 amountzeroNanDf=FinalData[FinalData['range']==0 | FinalData['range']==np.nan] restDatframe=FinalData[FinalData['range']!=0 | FinalData['range']!=n

下面是我从excel中读取的当前数据框最终数据:

现在我想把datframe分成两个,一个数据帧包含所有范围为零或nan的行,其余的行在另一个数据帧中。我如何才能做到这一点,我尝试了下面的代码,但没有工作

amountzeroNanDf=FinalData[FinalData['range']==0 | FinalData['range']==np.nan]

restDatframe=FinalData[FinalData['range']!=0 | FinalData['range']!=np.nan]

预期产出: 总金额(f):


restDatframe:

用于具有零或Nan值的行

amountzeroNanD = FinalData[(FinalData['range'].isnull()) | (FinalData['range'] ==0)]

其余的行

restDatframe =FinalData[(FinalData['range']!=0) & (FinalData['range'].notnull())]

这对我很有用:

restDataFrame = FinalData[FinalData.range != 0.0].dropna()
amountzeroNanDf = FinalData.drop(FinalData[(FinalData['range'] > 0.0) | (FinalData['range'] < 0.0)].index)  
restDataFrame=FinalData[FinalData.range!=0.0].dropna()
amountzeroNanDf=FinalData.drop(FinalData[(FinalData['range']>0.0)|(FinalData['range']<0.0)]索引)

请提供一个最小的可重复示例。嗨,朋友,我是python新手,实际上我的问题是我有一个包含两列多行的数据框。上述excel中的“范围”列可以有nan、0或任何正值或负值。我想把数据框一分为二。具有范围值为0或nan的所有行的第一个数据帧。将其余行插入另一个数据帧。你能给我提个建议吗。