発効日>日付範囲の場合は0を返します

EChan

私は次のものを持っています:

df1['Effective_Date']
df1['Amount']

Date_Range = pd.date_range('12/31/2017', periods=150, freq='M')

df2(rows = 'Amount'、columns = Date_Range)を返そうとしています。ここで:

if df1['Effective_Date'] > Date_Range, return 0

たとえば、金額= $ 100および発効日= 3/1/18の場合、2/28/18以前には$ 0が返され、3/31 / 18、4 / 30 / 18、5 / 31/18などでは$ 100が返されます。

データフレームにdf1 ['Amount']を入力してから、発効日より前に金額を取り消そうとしました。

データフレームを作成するには:

df2 = pd.DataFrame(df1['Amount'], columns = Date_Range)

>発効日= 0にするには:

df2[df1['Effective_Date'].astype(int) > df2] = 0

次のエラーが発生します。

  • 渡された値の形状は(1、1217)であり、インデックスは(150、1217)を意味します
  • [datetime64 [ns]]から[int32]までのdatetimelikeをastypeすることはできません

私は明らかにアマチュアです。手伝ってくれてどうもありがとう。

Tボーンステーキを一枚ください

これを行うには、使用することができますless_equalufunc.outer列「EFFECTIVE_DATE」の間でnumpyのからdf1Date_Range、そのあなたの乗算列「量」は:

import numpy as np
df2 = pd.DataFrame( np.less_equal.outer(df1.Efective_Date, Date_Range)
                                 *df1.Amount.values[:,None], 
                    columns = Date_Range)

例を挙げて:

df1 = pd.DataFrame({'Efective_Date':pd.to_datetime(['01/26/2018', '04/22/2018', '03/28/2018']),
                    'Amount':[100,150,300]})
print(df1)

#   Amount Efective_Date
#0     100    2018-01-26
#1     150    2018-04-22
#2     300    2018-03-28

Date_Range = pd.date_range('01/31/2018', periods=6, freq='M')
print(Date_Range)

#DatetimeIndex(['2018-01-31', '2018-02-28', '2018-03-31', '2018-04-30',
#               '2018-05-31', '2018-06-30'], dtype='datetime64[ns]', freq='M')

次に、次のdf2ようになります。

print (pd.DataFrame( np.less_equal.outer(df1.Efective_Date, Date_Range)
                                  *df1.Amount.values[:,None], 
                     columns = Date_Range))

#   2018-01-31  2018-02-28  2018-03-31  2018-04-30  2018-05-31  2018-06-30
#0         100         100         100         100         100         100
#1           0           0           0         150         150         150
#2           0           0         300         300         300         300

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

データが利用できない場合のMySQLの日付範囲は0を表示します

分類Dev

今日の日付が含まれている場合は、日付範囲を強調表示します

分類Dev

関連付けられた日付が日付範囲内にある場合は、値の範囲を平均します

分類Dev

vue2-datepickerは日範囲の日付を無効にします

分類Dev

日付範囲が暦年の変更にまたがる場合は、行を2つに分割します

分類Dev

存在しない場合は、日付の範囲にデフォルト値を追加します(SQL-BIGQUERY)

分類Dev

行が日付範囲の間にある場合は、列の値を設定します

分類Dev

特定の日付範囲で値が同じ場合、パンダは行を削除します

分類Dev

範囲から最後の日付を返します

分類Dev

Scalaで日付の範囲を繰り返します

分類Dev

日付範囲と列の合計の間の日付を選択します

分類Dev

Jquery datepickerは、範囲のある複数の日付を無効にします

分類Dev

Jquery datepickerは、範囲のある複数の日付を無効にします

分類Dev

カテゴリが特定の日付範囲で複数回発生した場合は、イベントを一覧表示します

分類Dev

jQueryの日付範囲ピッカーを変更して、無効な日付が含まれている場合に日付範囲を許可しないようにします

分類Dev

Bootstrap-Datepicker:最小または最大の日付を設定し、範囲外の日を無効にします

分類Dev

SQLを使用して、日付範囲と日付範囲が空の場合にレコードを検索します

分類Dev

Google Analytics APIを使用して、日付範囲の合計ではなく、毎日の結果を取得します

分類Dev

nullの場合を作成し、elseの日付範囲を無視する(mysql)

分類Dev

日付範囲のすべての日付を出力します

分類Dev

nullの日付または日付範囲外を抑制します

分類Dev

日付範囲を確認した場合の最速の結果

分類Dev

この範囲の日付が別の範囲にある場合は、行を削除してください

分類Dev

日付が返された場合にのみ、数式を含む範囲のセルをカウントしますか?

分類Dev

パンダは特定の日付に日付範囲を作成します

分類Dev

日付範囲ピッカーは前日の日付を選択します

分類Dev

SQLの日付範囲-開始点が指定されていない場合はすべて選択しますか?

分類Dev

SpringDataは2つの日付範囲を比較します

分類Dev

Laravelは日付範囲の配列を検証します

Related 関連記事

  1. 1

    データが利用できない場合のMySQLの日付範囲は0を表示します

  2. 2

    今日の日付が含まれている場合は、日付範囲を強調表示します

  3. 3

    関連付けられた日付が日付範囲内にある場合は、値の範囲を平均します

  4. 4

    vue2-datepickerは日範囲の日付を無効にします

  5. 5

    日付範囲が暦年の変更にまたがる場合は、行を2つに分割します

  6. 6

    存在しない場合は、日付の範囲にデフォルト値を追加します(SQL-BIGQUERY)

  7. 7

    行が日付範囲の間にある場合は、列の値を設定します

  8. 8

    特定の日付範囲で値が同じ場合、パンダは行を削除します

  9. 9

    範囲から最後の日付を返します

  10. 10

    Scalaで日付の範囲を繰り返します

  11. 11

    日付範囲と列の合計の間の日付を選択します

  12. 12

    Jquery datepickerは、範囲のある複数の日付を無効にします

  13. 13

    Jquery datepickerは、範囲のある複数の日付を無効にします

  14. 14

    カテゴリが特定の日付範囲で複数回発生した場合は、イベントを一覧表示します

  15. 15

    jQueryの日付範囲ピッカーを変更して、無効な日付が含まれている場合に日付範囲を許可しないようにします

  16. 16

    Bootstrap-Datepicker:最小または最大の日付を設定し、範囲外の日を無効にします

  17. 17

    SQLを使用して、日付範囲と日付範囲が空の場合にレコードを検索します

  18. 18

    Google Analytics APIを使用して、日付範囲の合計ではなく、毎日の結果を取得します

  19. 19

    nullの場合を作成し、elseの日付範囲を無視する(mysql)

  20. 20

    日付範囲のすべての日付を出力します

  21. 21

    nullの日付または日付範囲外を抑制します

  22. 22

    日付範囲を確認した場合の最速の結果

  23. 23

    この範囲の日付が別の範囲にある場合は、行を削除してください

  24. 24

    日付が返された場合にのみ、数式を含む範囲のセルをカウントしますか?

  25. 25

    パンダは特定の日付に日付範囲を作成します

  26. 26

    日付範囲ピッカーは前日の日付を選択します

  27. 27

    SQLの日付範囲-開始点が指定されていない場合はすべて選択しますか?

  28. 28

    SpringDataは2つの日付範囲を比較します

  29. 29

    Laravelは日付範囲の配列を検証します

ホットタグ

アーカイブ