質問するログイン新規登録

回答編集履歴

1

補足を追加

2020/10/08 08:06

投稿

Daregada
Daregada

スコア11990

answer CHANGED
@@ -1,3 +1,11 @@
1
+ 説明のために直接コードに書いたCSVデータを読み込む処理を書いていますので、その部分はあなたのコードではCSVファイルを読み込むように書き換えてください。
2
+
3
+ - `read_csv`でCSVファイルを読み込む。その際、`parse_dates`を指定することで、Product-dateの値がdatetime64値になる。文字列のままだと、統一されていない書き方で問題が起こるかもしれない(月の9と09など)
4
+ - データフレームにlimit-dateの列を追加する。`assign`や`insert`を使ってもいいが、末尾に追加するだけなら、`df['limit-date'] = pd.NaT`が簡単。`pd.nat`は、pandasに用意された日時用の欠損値(Not a Time)
5
+ - `type`の値に応じて、limit-dateの列の値を更新する。`loc`を使って条件に合う行のtime-limitの列だけを書き換えている。詳細は以下のリンク先の記事を参照。
6
+
7
+ [pandasで条件に応じて値を代入(where, mask) | note.nkmk.me](https://note.nkmk.me/python-pandas-where-mask/)
8
+
1
9
  ```Python
2
10
  import pandas as pd
3
11
  import io