当前位置: 首页 > 面试题库 >

熊猫dropna()函数不起作用

徐卓
2023-03-14
问题内容

我正在尝试从熊猫数据框中删除NA值。

我用过dropna()(它应该从数据帧中删除所有NA行)。但是,它不起作用。

这是代码:

import pandas as pd
import numpy as np
prison_data = pd.read_csv('https://andrewshinsuke.me/docs/compas-scores-two-years.csv')

这就是获取数据帧的方式。如下所示,默认read_csv方法确实将NA数据点转换为np.nan

np.isnan(prison_data.head()['out_custody'][4])

Out[2]: True

方便地,head()DF的已经包含一个NaN值(在列中out_custody),因此打印prison_data.head()此代码,您将得到:

   id                name   first         last compas_screening_date   sex

0   1    miguel hernandez  miguel    hernandez            2013-08-14  Male
1   3         kevon dixon   kevon        dixon            2013-01-27  Male
2   4            ed philo      ed        philo            2013-04-14  Male
3   5         marcu brown   marcu        brown            2013-01-13  Male
4   6  bouthy pierrelouis  bouthy  pierrelouis            2013-03-26  Male

      dob  age          age_cat              race      ...        
0  1947-04-18   69  Greater than 45             Other      ...
1  1982-01-22   34          25 - 45  African-American      ...
2  1991-05-14   24     Less than 25  African-American      ...
3  1993-01-21   23     Less than 25  African-American      ...
4  1973-01-22   43          25 - 45             Other      ...

   v_decile_score  v_score_text  v_screening_date  in_custody  out_custody

0               1           Low        2013-08-14  2014-07-07   2014-07-14
1               1           Low        2013-01-27  2013-01-26   2013-02-05
2               3           Low        2013-04-14  2013-06-16   2013-06-16
3               6        Medium        2013-01-13         NaN          NaN
4               1           Low        2013-03-26         NaN          NaN

priors_count.1 start   end event two_year_recid
0               0     0   327     0              0
1               0     9   159     1              1
2               4     0    63     0              1
3               1     0  1174     0              0
4               2     0  1102     0              0

但是,运行prison_data.dropna()不会以任何方式更改数据框。

prison_data.dropna()
np.isnan(prison_data.head()['out_custody'][4])


Out[3]: True

问题答案:

df.dropna()默认情况下,返回没有NaN值的新数据集。因此,您必须将其分配给变量

df = df.dropna()

如果要修改它df,就必须明确指定

df.dropna(inplace= True)


 类似资料:
  • 问题内容: 我正在尝试对数据框进行列绑定并遇到pandas的问题,因为它似乎不起作用: 结果是 即使我使用重置索引 然后尝试 它仍然产生相同的结果! 问题答案: 如果我正确理解您的意思,这就是您想要做的。 这使: 实际上,我期望得到相同的结果。 这是 jreback 的出色解释: “忽略”,表示未在连接轴上对齐。它只是按照传递的顺序将它们粘贴在一起,然后为实际索引(例如)重新分配一个范围,因此联接

  • 问题内容: 我是Python和Pandas库的初学者,我对DataFrame的一些基本功能感到困惑。我有一个熊猫DataFrame,如下所示: 但是,在执行一些功能之后: 我再也无法使用df.head()函数了: 我不明白为什么会这样。我在这里做错什么了吗?任何指针都欢迎!谢谢。 问题答案: 返回df的前n行。现在默认情况下要显示一个熊猫检查终端的宽度,如果该宽度太小而无法显示摘要视图。在第二种情

  • 问题内容: 另一个熊猫问题。 阅读韦斯·麦金尼(Wes Mckinney)关于数据分析和熊猫的出色著作,我遇到了以下我认为应该起作用的事情: 假设我有一些有关提示的信息。 我想知道与总费用有关的五个最大技巧,即分别针对吸烟者和不吸烟者。所以这有效: 足够好了,但是然后我想使用pandas的transform来做类似的事情: 但是我得到了这个: 为什么?我知道转换需要返回与输入相同尺寸的数组,因此我

  • 问题内容: 嗨,我尝试在POST请求中尝试PHPPost请求,认为这可能对我有用,下面给出了我的代码 形成index.php文件,而index2.php是同一目录中的另一个文件,当我打开页面时,我的error.log文件中出现以下错误 我想要做的是我有一个发送发帖请求的预订表格,然后我想处理发帖值并再次将发帖请求发送到贝宝 问题答案: 您需要为php安装CURL支持。 在Ubuntu中,您可以通过

  • 问题内容: Oracle-函数不起作用 所以我不知道我在做什么错。我已经花了几个小时了,非常感谢您的帮助。 因此,基本上我有2个表,一个表被称为主列表,它是一个学生列表,另一个表被调用,它基本上具有该学生所注册课程的列表。 因此,我编写了一个函数,用于将登录学生的用户名(在本例中为)与学生列表进行比较,并确保登录用户是学生。然后,它将与表进行比较,以查找用户注册的任何程序。因此,从本质上讲,当我(

  • 问题内容: 假设我有一个用户活动日志,我想生成一个总持续时间和每天唯一身份用户数量的报告。 汇总持续时间非常简单: 我想做的是同时计算持续时间并计算不重复次数,但我似乎找不到count_distinct的等效项: 这可行,但是肯定有更好的方法,不是吗? 我在想,我只需要提供一个将Series对象的不同项目的计数返回给聚合函数的函数,但是我对各种库的接触并不多。另外,似乎groupby对象已经知道此