私はPythonが初めてで、クロールプロジェクトを進めています。いくつかの pandas モジュールに関して 2 つの質問があります。
以下は私のデータテーブル「js」です
apple banana
period
2017-01-01 100.00000 22.80130
2017-02-01 94.13681 16.28664
2017-03-01 85.34201 13.68078
2017-04-01 65.79804 9.77198
2017-05-01 43.32247 13.35504
2017-06-01 72.63843 9.44625
2017-07-01 78.82736 9.77198
2017-08-01 84.03908 10.09771
2017-09-01 90.55374 13.35504
2017-10-01 86.64495 9.12052
以下は、リンゴとバナナの値を新しい DataFrame に適用するコードです。
import pandas as pd
from datetime import datetime, timedelta
dd = pd.date_range('2017-01-01',datetime.now().date() - timedelta(1))
df = pd.DataFrame.set_index(dd) #this part has error
最初のステップは、df インデックスを data_range ('2017-01-01' から昨日 (毎日)) に設定することです。エラーメッセージは、必要な位置引数が1つ不足していることを示しています:「キー」。「2017-01-01」から昨日までの毎日の日付としてインデックスを設定することは可能ですか?
それが解決された後、「apple」や「banana」などの「js」データを列として配置し、各値を df インデックス日付に関して配置しようとしています。この例では「リンゴ」と「バナナ」の列のみを示していますが、実際のデータ セットにはさらに数千の列があります...
私の問題を解決する効率的な方法を教えてください。前もって感謝します!
--------------EDIT------------------------ 日付のインデックス作成は @ で完璧に機能しますCOLDSPEEDの答え。
dd = pd.date_range('2017-01-01',datetime.now().date() - timedelta(1))
df.index = pd.to_datetime(df.index) # ignore if not needed
df = df.reindex(dd, fill_value=0.0)
1 つの問題は、別のデータフレーム「js2」(下) があり、これらのデータを単一の df (上) に結合すると、機能しないと思われることです。何か提案はありますか?
kiwi mango
period
2017-01-01 9.03614 100.00000
2017-02-01 5.42168 35.54216
2017-03-01 7.83132 50.00000
2017-04-01 10.24096 55.42168
2017-05-01 10.84337 60.84337
2017-06-01 12.04819 65.66265
2017-07-01 17.46987 34.93975
2017-08-01 9.03614 30.72289
2017-09-01 9.63855 56.02409
2017-10-01 12.65060 45.18072