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 3.x 关于熊猫的结构问题.下降法_Python 3.x_Pandas_Oop - Fatal编程技术网

Python 3.x 关于熊猫的结构问题.下降法

Python 3.x 关于熊猫的结构问题.下降法,python-3.x,pandas,oop,Python 3.x,Pandas,Oop,下面的代码可以正常工作 但是为什么需要键入df[df[而不是下面的 df2=df.drop(df[df['issue']=="prob"].index) df2.head() 我知道上面的方法不起作用,而前者起作用。我想知道为什么或者知道我应该用谷歌搜索什么 此外,如果您对更相关的标题有任何建议,我们将不胜感激。 谢谢! 选项1:df[df['issue']==“prob”]生成一个带有值子集的数据帧 选项2:df['issue']==“prob”为每一行生成一个带有布尔值

下面的代码可以正常工作

但是为什么需要键入df[df[而不是下面的

df2=df.drop(df[df['issue']=="prob"].index)
df2.head()
我知道上面的方法不起作用,而前者起作用。我想知道为什么或者知道我应该用谷歌搜索什么

此外,如果您对更相关的标题有任何建议,我们将不胜感激。 谢谢!

  • 选项1:
    df[df['issue']==“prob”]
    生成一个带有值子集的
    数据帧
  • 选项2:
    df['issue']==“prob”
    为每一行生成一个带有布尔值的
    pandas.Series
  • .drop
    适用于选项1,因为它知道只需删除选定的索引,而不是从选项2返回的所有索引
  • 我将使用以下方法删除行。
    • 使用
      ~
      (not)选择布尔选择的相反项。
      • df=df[~(df.treatment='Yes')]
    • 选择仅具有所需值的行
      • df=df[(df.treatment='No')]
将熊猫作为pd导入
将numpy作为np导入
随机输入
#示例数据帧
np.random.seed(365)
随机种子(365)
行=25
数据={'a':np.random.randint(10,大小=(行)),
“组”:范围内(行)的[随机选择(['1-5','6-25','26-100','100-500','500-1000','>1000']),
“治疗”:[范围内(行)的随机选择(['Yes','No']),
“日期”:pd.bdate_范围(datetime.today(),freq='d',periods=rows.tolist()}
df=pd.DataFrame(数据)
df[df.treatment='Yes'].index
  • 只生成
    treatment
    'Yes'
    的索引,因此
    df.drop(df[df.treatment='Yes'].index)
    仅删除列表中的索引
df[df.treatment=='Yes'].索引
[out]:
Int64Index([0,1,2,4,6,7,8,11,12,13,14,15,19,21],dtype='int64')
df.drop(df[df.treatment='Yes'].index)
[out]:
治疗日期
356-25第2020-08-15号
52500-1000号2020-08-17
9 0 500-1000编号2020-08-21
10 3 100-500编号2020-08-22
16 8 1-5第2020-08-28号
17 4 1-5第2020-08-29号
18 3 1-5第2020-08-30号
20 6 500-1000编号2020-09-01
22 6-25第2020-09-03号
23 8 100-500编号2020-09-04
24926-100第2020-09-05号
(df.treatment='Yes')。索引
  • 生成所有索引,因此
    df.drop((df.treatment=='Yes').index)
    删除所有索引,留下一个空数据帧
(df.treatment='Yes')。索引
[out]:
范围索引(开始=0,停止=25,步骤=1)
df.drop((df.treatment='Yes').index)
[out]:
空数据帧
列:[a、组、治疗、日期]
索引:[]
df2=df.drop(df['issue']=="prob"].index)
df2.head()