私は日付を含むリストを持っています。それは以下のようになります。パンダのdfsをスライスする
[datetime.date(1994, 2, 4),
datetime.date(1994, 3, 22),
datetime.date(1994, 4, 18),
datetime.date(1994, 5, 17),
datetime.date(1994, 8, 16)
...]
とのように見えるパンダのDF:用
1994-02-04 1994-03-22 1994-04-18 ...
-2
-1
0
1
2
値:私はのようになります。新しいDFを構築しようとしている
Date USD_I
0 1971-01-04 100.0000
1 1971-01-05 99.9700
2 1971-01-06 99.9500
3 1971-01-07 99.9400
4 1971-01-08 99.9300
5 1971-01-11 99.9100
6 1971-01-12 99.8900
7 1971-01-13 99.9000
8 1971-01-14 99.8300
and so on
を行 '0'の列 '1994-02-04'は、最初のdf( 'USD_I'列)からのその日付の値でなければなりません。行 '-1'の値はその前日の値でなければならず、行 '1'の値は翌日の値などでなければなりません。単に列はリストの値であり、新しいdfの値は最初のdfのデータのスライスです。
私は2日目にこれをやろうとしていますが、まだインデックスを作成する際にエラーが発生し、オンラインで解決策を見つけることができませんでした。私は本当にどのような助けとそれに対処するヒントを感謝します。
for i in list:
result[i] = df[df['Date']==i]['USD_I']
最初は良いが、ある列名などの日付を私にデータフレームを与えた:私はそれをやろうとしている
(「結果は」最終DFの名前です)行は、最初の日付の値と他の人を持っているNaNのように私は、この行全体を削除してみてくださいされています
for i in result:
for x in range(-2,3):
result.loc[x,i] = df.loc[(df[df['Date']==i].index.values+x),'USD_I']
をしかし、これは私にValueErrorを与えた:シリーズとの互換性のないインデクサを。
エラーは何ですか?日を追加/減算するために 'datetime.timedelta'を使用していますか?出力データフレームに – Marmaduke
がある場合、その値はどうなりますか?それはインデックスと列のようにしか見えません。 – MattR
@Marmaduke私はポストと私がこれをやろうとしている方法で詳細を追加しました。 – Szymon