web-dev-qa-db-ja.com

python-corrを機能させることはできません

単純な相関関係を作成するのに苦労しています。私は同様の質問の下で提案されたすべてを試しました。

コードの関連部分、私が行ったさまざまな試みとその結果は次のとおりです。

_import numpy as np
import pandas as pd

try01 = data[['ESA Index_close_px', 'CCMP Index_close_px' ]].corr(method='pearson')

print (try01) 
_

でる:

_Empty DataFrame
Columns: []
Index: []
_

_try04 = data['ESA Index_close_px'][5:50].corr(data['CCMP Index_close_px'][5:50])
print (try04)
_

でる:

_**AttributeError: 'float' object has no attribute 'sqrt'**
_

numpyを使用する

_try05 = np.corrcoef(data['ESA Index_close_px'],data['CCMP Index_close_px'])
print (try05)
_

でる:

_AttributeError: 'float' object has no attribute 'sqrt'
_

列をリストに変換する

_ESA_Index_close_px_list = list()
start_value = 1
end_value = len (data['ESA Index_close_px']) +1
for items in data['ESA Index_close_px']:
    ESA_Index_close_px_list.append(items)
    start_value = start_value+1    
    if start_value == end_value:
        break
    else:
        continue

CCMP_Index_close_px_list = list()
start_value = 1
end_value = len (data['CCMP Index_close_px']) +1
for items in data['CCMP Index_close_px']:
    CCMP_Index_close_px_list.append(items)
    start_value = start_value+1    
    if start_value == end_value:
        break
    else:
        continue

try06 = np.corrcoef(['ESA_Index_close_px_list','CCMP_Index_close_px_list'])
print (try06)
_

でる:

_****TypeError: cannot perform reduce with flexible type****
_

.astypeも試しましたが、違いはありませんでした。

_data['ESA Index_close_px'].astype(float)

data['CCMP Index_close_px'].astype(float)
_

Python 3.5、pandas 0.18.1およびnumpy1.11.1を使用

どんな提案でも本当にありがたいです。

** edit1:*データは、相関の試行前にExcelスプレッドシートdata = pd.read_Excel('C:\\Users\\Ako\\Desktop\\ako_files\\for_corr_‌​tool.xlsx')から取得され、列の名前変更と

_data = data.drop(data.index[0]) 
_

線を取り除くために

タイプに関して:

_print (type (data['ESA Index_close_px']))



print (type (data['ESA Index_close_px'][1]))
_

でる:

** edit2 *データの一部:

_print (data['ESA Index_close_px'][1:10])

print (data['CCMP Index_close_px'][1:10])
_

でる:

_2        2137
3        2138
4        2132
5        2123
6        2127
7     2126.25
8      2131.5
9      2134.5
10       2159
Name: ESA Index_close_px, dtype: object
2     5241.83
3     5246.41
4     5243.84
5     5199.82
6     5214.16
7     5213.33
8     5239.02
9     5246.79
10    5328.67
Name: CCMP Index_close_px, dtype: object
_
9
a_ko

さて、私は今日同じ問題に遭遇しました。 .astype('float64')を使用して、型を正しくしてみてください。
data['ESA Index_close_px'][5:50].astype('float64').corr(data['CCMP Index_close_px'][5:50].astype('float64'))

これは私にとってはうまくいきます。それがあなたにも役立つことを願っています。

19
Yuan Tao

次のように試すことができます。

Top15['Citable docs per capita']=(Top15['Citable docs per capita']*100000)
Top15['Citable docs per capita'].astype('int').corr(Top15['Energy Supply per Capita'].astype('int'))

それは私のために働いた。

0
Paridhi Asthana