Я получил некоторые данные о запасах из Quandl как по ценам на сырую нефть (WTI), так и по цене Caterpillar (CAT). Когда я объединяю два кадра данных вместе, у меня остается несколько NaN. Моя конечная цель - запустить .Pearsonr() для оценки корреляции (вместе с p-значениями), однако я не могу заставить Pearsonr() работать из-за всех Нан. Поэтому я пытаюсь их очистить. Когда я использую функцию .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
Что бы это ни стоило, мне удалось заставить функцию работать, когда я создаю фрейм данных с нуля, используя этот код:
import pandas as pd
import numpy as np
d = {'a' : 0., 'b' : 1., 'c' : 2.,'d':None,'e':6}
d_series = pd.Series(d, index=['a', 'b', 'c', 'd','e'])
d_df = pd.DataFrame(d_series)
d_df = d_df.fillna(method='pad')
print d_df
Первоначально я думал, что, возможно, мои данные не были в форме фрейма данных, но я использовал простой тест, чтобы подтвердить, что они на самом деле являются фреймворком данных. Единственный вывод, который остается (на мой взгляд), заключается в том, что это что-то о структуре кадра данных Quandl или, возможно, о природе TimeSeries. Пожалуйста, знайте, что я новичок в python, поэтому структурируйте ответы для новичка/новичка. Любая помощь высоко ценится!