Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何根据第2列的条件从dataframe的第1列删除行?_Python_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 如何根据第2列的条件从dataframe的第1列删除行?

Python 如何根据第2列的条件从dataframe的第1列删除行?,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我已经看到了很多关于如何根据条件删除数据帧行的答案 但是,我有一个带有X和Y值的python数据帧 当y在3到37范围内时,我想删除范围3到10和33到40的X值 我们怎样才能做到这一点 这就是数据帧的外观: X Y Z 0 34.587329 0.448762 0.572807 1 34.587325 0.700001 0.579152 2 34.587327 0

我已经看到了很多关于如何根据条件删除数据帧行的答案

但是,我有一个带有X和Y值的python数据帧

当y在3到37范围内时,我想删除范围3到10和33到40的X值

我们怎样才能做到这一点

这就是数据帧的外观:

               X          Y         Z         
0      34.587329   0.448762  0.572807
1      34.587325   0.700001  0.579152  
2      34.587327   0.950507  0.578303  
3      34.587328   1.199202  0.579037  
4      34.587328   1.445252  0.581698  
...          ...        ...       ...              
20956   0.013592  41.207004  0.585673  
20957   0.013495  40.411135  0.554721  
20958   0.013909  41.701004  0.571247  
20959   0.014094  41.962998  0.578334  
20960   0.014193  42.208740  0.555786  
使用

您还可以使用
isin
+
range()
。 不同之处在于,通过这种方式,您只能包括左侧限制:

df['X'].isin(range(3, 10))

你能提供样品数据吗?我看不出这些数字是连续的、已排序的还是有其他重要特征。编辑问题以添加dataframe@Billhuang我得到一个错误:ValueError:点不能包含NaN。原始数据帧没有任何NaN值是否要删除满足条件的行,或在满足条件时在列X的行中放入一些值(如NaN)?删除所需的行
df_filtered=df.loc[hold_X|hold_y]
打印(df_filtered)
df['X'].isin(range(3, 10))