2017-10-17 19 views
0

カスタムサンプラー機能を使用してpandasデータフレームをサンプリングしました。 これは基本的に2つの柱で構成されます。データフレームに不足している行を均等に分散して追加する

  • タイムスタンプ

私は均等に分散すべての日付時刻(すなわち、10分ごとに新しいデータフレームを作成したいのですが)を使用してサンプリングされた値(同じ周波数でサンプリングされたもの)の欠損値を入力します。

Shoudl 再インデックスを使用する必要がありますか?それはちょうど著作ない

dd = pd.date_range(
     start_date.astimezone(pytz.utc), 
     end_date.astimezone(pytz.utc), 
     freq="3min" 

    ) 
dd = dd.map(lambda item: calendar.timegm(item.timetuple())) 
df.index = df.reindex(dd, fill_value="NaN") 

私のような何かをしようとしています。 2つのインデックスのサイズが異なるため、「長さの不一致エラー」が発生します。

これは正しい方法ですか?

おかげで、あなたはこれを試すことができ

FB

答えて

1

は、私は2つのデータフレームをマージするcomvibe_firstを使用しました。

start_date = datetime.datetime.today() 
end_date = datetime.datetime(2017, 10, 19) 
​ 
dd = pd.date_range(
     start_date, 
     end_date, 
     freq="3min" 
​ 
    ) 
dd = dd.map(lambda item: calendar.timegm(item.timetuple())) 
columns = ['some', 'column', 'headers'] 
df = pd.DataFrame(columns=columns, index=dd) 
myarray = np.random.random((len(dd),3)) 
for val, item in enumerate(myarray): 
    df.ix[df.index.values[val]] = item 
index_new = df.sample(frac=0.8, random_state=200) 
df = df.drop(index_new.index) 
df_ok = pd.DataFrame(columns=columns, index=dd) 
df_ok = df_ok.combine_first(df) 
関連する問題