小编Max*_*Max的帖子

Python pandas空相关矩阵

我正在运行Python 2.7.6,pandas 0.13.1.我无法从DataFrame计算相关矩阵,我不知道为什么.这是我的示例DataFrame:

In [24]: foo
Out[24]:
                       A             B            C
2011-10-12   0.006204908 -0.0009503677  0.003480105
2011-10-13    0.00234903 -0.0005122284 -0.001738786
2011-10-14    0.01045599   0.000346268  0.002378351
2011-10-17   0.003239088   0.001246239 -0.002651856
2011-10-18   0.001717674 -0.0001738079  0.002013923
2011-10-19  0.0001919342  6.399505e-05 -0.001311259
2011-10-20  0.0007430615   0.001186141  0.001919222
2011-10-21   -0.01075129    -0.0015123  0.000807017
2011-10-24   -0.00819597 -0.0005124197  0.003037654
2011-10-25   -0.01604287   0.001157013 -0.001227516

[10 rows x 3 columns]
Run Code Online (Sandbox Code Playgroud)

现在我将尝试计算相关性:

In [27]: foo.corr()
Out[27]:
Empty DataFrame
Columns: []
Index: []

[0 rows x 0 columns]
Run Code Online (Sandbox Code Playgroud)

另一方面,我可以计算每列与每列的相关性.例如:

In [31]: foo['A'].corr(foo['B'])
Out[31]: 0.048578514633405255
Run Code Online (Sandbox Code Playgroud)

知道可能导致这个问题的原因吗?非常感谢.

版本信息

In …
Run Code Online (Sandbox Code Playgroud)

python pandas

24
推荐指数
1
解决办法
1万
查看次数

使用super进行Python递归方法调用

我正在使用依赖于递归方法调用的库:

class A(object):
    def __init__(self):
        self.foo = None

    def f(self):
        if not self.foo:
            print("Hello")
            self.foo = 100
            self.f()
Run Code Online (Sandbox Code Playgroud)

我想在使用原始实现时覆盖方法f():

class B(A):
    def f(self):
        super(B, self).f()
        print("World")
Run Code Online (Sandbox Code Playgroud)

这样,我希望得到:

Hello
World
Run Code Online (Sandbox Code Playgroud)

相反,我看到:

Hello
World
World
Run Code Online (Sandbox Code Playgroud)

我理解这是因为A类中的原始代码调用self.f(),它找到了B.self.

问题:使用"超级(B,自我).f()"将自我视为A类,递归调用Af(),然后返回Bf()打印"World?"的最Pythonic方法是什么?

谢谢.

python super

3
推荐指数
1
解决办法
554
查看次数

标签 统计

python ×2

pandas ×1

super ×1