Python 3.x 数据帧索引无法正常工作。也不会给出错误。熊猫蟒蛇
假设我们有一个数据帧: ''' ''' 我试图将C列的值设置为np.nan,以获得C列中的一系列值 我试图为C中小于2且大于5的所有值设置nan值 我是这样做的:Python 3.x 数据帧索引无法正常工作。也不会给出错误。熊猫蟒蛇,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,假设我们有一个数据帧: ''' ''' 我试图将C列的值设置为np.nan,以获得C列中的一系列值 我试图为C中小于2且大于5的所有值设置nan值 我是这样做的: '''df.loc[(df['C']<2) & (df['C']>5),'C']=np.nan''' “'df.loc[(df['C']5),'C']=np.nan” 它不会给出任何错误或警告,但也不做任何操作,并且数据帧保持不变 有人知道发生了什么事吗?我也尝试过(不是推荐的解决方案),但也不起作用: '''
'''df.loc[(df['C']<2) & (df['C']>5),'C']=np.nan'''
“'df.loc[(df['C']5),'C']=np.nan”
它不会给出任何错误或警告,但也不做任何操作,并且数据帧保持不变
有人知道发生了什么事吗?我也尝试过(不是推荐的解决方案),但也不起作用:
'''
df['C'][(df['C']<2) & (df['C']>5)]=np.nan
df['C'].loc[(df['C']<2) & (df['C']>5)]=np.nan
'''
“”
df['C'][(df['C']5)]=np.nan
df['C'].loc[(df['C']5)]=np.nan
'''
由于C
包含一个值,因此需要使用OR而不是and,请使用:
df.loc[(df['C']<2) | (df['C']>5),'C']=np.nan
df.loc[(df['C']5),'C']=np.nan
由于C
包含一个值,因此需要使用OR而不是and,请使用:
df.loc[(df['C']<2) | (df['C']>5),'C']=np.nan
df.loc[(df['C']5),'C']=np.nan
看起来你需要或不需要&
df.loc[(df['C']5),'C']=np.nan?天哪,我当然需要or。非常感谢:)看起来你需要or而不是&
df.loc[(df['C']5),'C']=np.nan
?天哪,我当然需要or。非常感谢:)