Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.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 如何在数据帧中删除任何值为零的条目中的行?(';collections.OrderedDict';对象没有属性';dropna';)_Python_Dataframe - Fatal编程技术网

Python 如何在数据帧中删除任何值为零的条目中的行?(';collections.OrderedDict';对象没有属性';dropna';)

Python 如何在数据帧中删除任何值为零的条目中的行?(';collections.OrderedDict';对象没有属性';dropna';),python,dataframe,Python,Dataframe,我试图从dataframe中删除所有行,其中行的任何列中的任何条目的值都为零。 我在下面放置一个最小的工作示例 import pandas as pd df = pd.read_excel('trial.xlsx',sheet_name=None) df 我得到的数据帧如下 OrderedDict([('Sheet1', type query answers 0 abc 100 90 1 def 0

我试图从dataframe中删除所有行,其中行的任何列中的任何条目的值都为零。 我在下面放置一个最小的工作示例

import pandas as pd
df = pd.read_excel('trial.xlsx',sheet_name=None)
df
我得到的数据帧如下

OrderedDict([('Sheet1',   type  query  answers
          0  abc    100       90
          1  def      0        0
          2  ghi      0        0
          3  jkl      5        1
          4  mno      1        1)])
我尝试使用以下代码使用dropna()删除行

df = df.dropna()
df
我在说“collections.OrderedDict”对象没有属性“dropna”时出错。我试着浏览了提供的各种答案,但错误依然存在。
任何帮助都将不胜感激

获取OrderedDict对象的原因是,您正在将
sheet\u name=None
参数输入库的
read\u excel
方法。这将把所有工作表加载到数据帧字典中

如果只需要一张图纸,请在
sheet\u name
参数中指定它,否则将其删除以读取第一张图纸

将熊猫作为pd导入
df=pd.read_excel('trial.xlsx')#如果没有工作表名称,将读取第一张工作表
打印(类型(df))
df=df.dropna()

将熊猫作为pd导入
df=pd.read_excel('trial.xlsx',sheet_name='Sheet1')#读取特定的工作表
打印(类型(df))
df=df.dropna()

请回答问题,并将剪贴板粘贴到代码块中或包含合成数据:
将numpy导入为np
df.replace(0,np.nan,inplace=True)
,然后
df.dropna(inplace=True)
感谢您回复@Trenton McKinney。我已经编辑了我的问题。但是,即使我使用df.head(10),我也会得到相同类型的错误-'collections.OrderedDict'对象没有属性'head'An
OrderedDict
不是数据帧。如果执行
df=pd.read\u excel('trial.xlsx',sheet\u name=None)
,则执行
df.head()
会发生什么?不幸的是,您的变量
df
没有引用数据帧。通过将对象传递给类似so
type(df)
type
函数,可以检查变量的数据类型。您可以从您订购的信息创建一个数据框,如下所示
df=pandas.dataframe(我订购的dict)
Wow!!是的,它起作用了。现在我也可以从.xlsx获取数据帧。我尝试了
df=df.replace(0,np.nan)
df=df.dropna(how='all',axis=0)
df1=df.dropna()!!非常感谢。