現在の日付からpandasデータフレームの月末までの営業日の日数を生成します。 など。 4、23/06/2017 - - 26/06/2017 5入力をタイムスタンプ、bday_range(...)に変換できません - Pandas/Python
私はタイプエラーを取得しておくと、私はトラブルを抱えている:
TypeError: Cannot convert input to Timestamp
ラインから:
result['bdaterange'] = pd.bdate_range(pd.to_datetime(result['dte'], unit='ns').values, pd.to_datetime(result['bdate'], unit='ns').values)
私は日付形式の列dteのデータフレーム結果があります。単純な整数/浮動小数点として新しい列(bdaterange)を作成しようとしていますが、これは営業日の月末からどれだけ離れているかを見るために使用できます。
Sample data:
bid ask spread dte day bdate
01:49:00 2.17 3.83 1.66 2016-12-20 20.858333 2016-12-30
02:38:00 2.2 3.8 1.60 2016-12-20 20.716667 2016-12-30
22:15:00 2.63 3.12 0.49 2016-12-20 21.166667 2016-12-30
03:16:00 1.63 2.38 0.75 2016-12-21 21.391667 2016-12-30
07:11:00 1.46 2.54 1.08 2016-12-21 21.475000 2016-12-30
私はBDay()
を試してみましたが、日が計算で6 & 7することはできませんが、どこにも持っていないことを利用しました。私はbdate_range
を見つけました。これは私が探しているものと正確には信じていますが、最も近いものはエラーCannot convert input to Timestamp
です。
私の試みは、次のとおりです。
result['bdate'] = pd.to_datetime(result['dte']) + BMonthEnd(0)
result['bdaterange'] = pd.bdate_range(pd.to_datetime(result['dte'], unit='ns').values, pd.to_datetime(result['bdate'], unit='ns').values)
print(result['bdaterange'])
しかし、エラーを解決する方法がわかりません。
これは完璧に動作します - 感謝を。 なぜ、値の代わりにlen()関数を使用する必要がありましたか? – LLC
私は、各行に 'bdate_range'という出力があり、' array'( 'Datetimeindex')は何とかなると思います。 arrayの長さを取得する単純な方法は 'len'です – jezrael