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

pandas df.corr()返回NaN,尽管数据已填充

宇文曦
2023-03-14
问题内容

我的数据如下所示:

print data

                   A                B 
2014-04-04        163.24         191.77
2014-06-11        165.43         182.25
2014-12-22        194.44         161.44
2014-03-25        163.25         195.04
2014-11-03        190.83         164.36
2014-06-16        165.85         182.35
2014-11-24        190.07         162.15
2014-05-21        159.35         186.39
2015-01-21        177.15         152.09
2014-08-28        177.65         192.00
2014-02-19        163.26         182.95
2014-05-12        159.55         192.57
2014-07-09        164.67         188.42
2015-02-26        192.20         160.87
2014-10-14        178.70         183.80
2014-07-16        170.47         192.36
2014-01-21        173.20         188.43
2014-06-03        161.80         184.37
2014-03-17        166.84         185.81
2014-08-11        172.46         187.47
2015-01-07        187.28         155.05
2014-05-29        160.74         183.76
2015-02-11        187.65         158.20
2014-02-27        165.38         185.27
2015-01-05        188.34         159.51
2014-07-01        166.81         186.35
2015-02-18        188.67         162.19
2014-04-03        166.09         192.69
2014-10-06        187.48         189.04
2014-12-29        196.19         160.51

当我尝试打电话时,data.corr()我会全部收回NaN。我在excel中进行了测试,确实可以计算出相关性。

知道为什么会这样吗?

我很乐意发布更多信息,但不确定会有所帮助。

print data.info()

<class 'pandas.core.frame.DataFrame'>
Index: 298 entries, 2014-04-04 to 2014-01-29
Data columns (total 2 columns):
A     298 non-null float64
B    298 non-null float64
dtypes: float64(2)None



print data.describe()
              A                B
    count    298.000000     298.000000
    mean     175.152886     178.596242
    std       11.490668      13.709316
    min      152.720000     151.410000
    25%      165.502500     162.655000
    50%      175.480000     184.330000
    75%      185.085000     189.692500
    max      196.890000     197.770000


print pd.version
0.14.1

问题答案:

杰森(Jason),使用示例数据对我来说很好用。

data.corr()
    A   B
A   1.000000    -0.779864
B   -0.779864   1.000000

我在您的data.info()中注意到dtype上贴有’None’。当我加载样本数据时,我得到

data.info()
<class 'pandas.core.frame.DataFrame'>
Index: 30 entries, 2014-04-04 to 2014-12-29
Data columns (total 2 columns):
A     30 non-null float64
B     30 non-null float64
dtypes: float64(2)

我想象是什么原因导致“无”导致您的问题。

希望这可以帮助[希望我可以留下评论,但还没有声誉!]



 类似资料:
  • 我不明白为什么下面的函数返回NaN,甚至答案不应该是NaN。我试着搜索类似的问题,但大多数是在其他编程语言中,我无法理解。 提前谢了。

  • 问题内容: create_PaperBean.java 我正在使用struts,当执行该bean时,会在数据库中创建一个表,但是insert的值仍为零!因此,我无法进入正确的页面来进一步运行Web应用程序。我究竟做错了什么? 问题答案: 要么返回SQL数据操纵语言(DML)语句的行数的SQL语句回报 什么 。 创建表既不是INSERT也不是UPDATE,因此正常接收是因为没有行受到影响。

  • 问题内容: 只是出于好奇。 数字似乎不太合逻辑。顺便说一句,就像或返回假。这是javascript的特性之一,还是有原因呢? 编辑:谢谢你的回答。但是,要让所有人适应现实并非易事。阅读答案和Wiki我了解得更多,但仍然有类似 与NaN的比较始终会返回无序结果,即使与自身进行比较也是如此。比较谓词是信令或非信令,信令版本表示此类比较的无效异常。相等和不相等谓词是无信号的,因此x = x返回false

  • 上下文:我的数据库中有两个不同的表。第一个是actionblock(Java中的actionblock),第二个是location(Java中的PermanentLocation)。ActionBlock类需要一个位置才能工作,因此为了让代码工作,它首先加载ActionBlock数据,其中包含所需的位置,然后代码加载所需的位置。(是的,我知道下面的代码将垃圾邮件加载位置查询) 问题:使用与Acti

  • 问题内容: 我有一个问题,尽管数据库中存在一个键/条目,但Redis命令仍会返回。 我从未在本地计算机上运行的Redis服务器上遇到此问题。令人讨厌的是,没有错误或任何东西。 我使用Redis Desktop Manager来检查Heroku Redis数据库中的内容。 这是获取数据库中值的NodeJS代码: 我可能会做的一件异常事如下:我同时有多达6个处理数据库中的值。 知道什么会导致这种奇怪的

  • 我很熟悉在JavaScript中是“怪异的”,即总是返回,如本文所述。因此,不应进行比较来检查,而应使用isNaN(..)取而代之的是。 所以我惊讶地发现 这似乎不一致。为什么会有这种行为? 它是怎么工作的?方法是否专门检查?