使用.fillNA()填充数据,从Quand中提取数据

2024-09-25 16:33:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我从Quandl获得了一些原油价格(WTI)和卡特彼勒(CAT)价格的股票数据。当我把两个数据帧连接在一起时,我只剩下一些nan。我的最终目标是运行一个.Pearsonr()来评估相关性(以及p值),但是我不能让Pearsonr()工作,因为所有的Nan都是,所以我试图清理它们。当我使用.fillNA()函数时,它似乎不起作用。我甚至尝试过.interpolate()和.dropna()。它们似乎都不起作用。这是我的工作代码。在

import Quandl
import pandas as pd
import numpy as np


#WTI Data#
WTI_daily = Quandl.get("DOE/RWTC", collapse="daily",trim_start="1986-10-10", trim_end="1986-10-15")
WTI_daily.columns = ['WTI']

#CAT Data
CAT_daily = Quandl.get("YAHOO/CAT.6", collapse = "daily",trim_start="1986-10-10", trim_end="1986-10-15")
CAT_daily.columns = ['CAT']  

#Combine Data Frames
daily_price_df = pd.concat([CAT_daily, WTI_daily], axis=1)
print daily_price_df

#Verify they are dataFrames:
def really_a_df(var):
    if isinstance(var, pd.DataFrame):
        print "DATAFRAME SUCCESS"
    else:
        print "Wahh Wahh"
    return 'done'

print really_a_df(daily_price_df)

#Fill NAs 
#CAN'T GET THIS TO WORK!!
daily_price_df.fillna(method='pad', limit=8)
print daily_price_df

# Try to interpolate
#CAN'T GET THIS TO WORK!!
daily_price_df.interpolate()
print daily_price_df

#Drop NAs
#CAN'T GET THIS TO WORK!!
daily_price_df.dropna(axis=1)
print daily_price_df

值得一提的是,当我使用以下代码从头创建一个数据帧时,我设法使函数正常工作:

^{pr2}$

最初我在想也许我的数据不是数据帧形式,但我用了一个简单的测试来确认它们实际上是dataframe。剩下的唯一结论(在我看来)是关于Quandl数据帧的结构,或者可能是TimeSeries的性质。请知道,我对python有点陌生,所以结构是begginner/新手的答案。非常感谢任何帮助!在


Tags: 数据importdfdatagetcanpricecat