0
私は以下のようなdfの外観を持っていますが、はるかに大きいです。 lastDateの列の下に不正確な日付がいくつかありますが、correctDate列のすぐ隣に何かがある場合にのみ間違っています。forループのパンダを使用して日時の値を置換する
dff = pd.DataFrame(
{"lastDate":['2016-3-27', '2016-4-11', '2016-3-27', '2016-3-27', '2016-5-25', '2016-5-31'],
"fixedDate":['2016-1-3', '', '2016-1-18', '2016-4-5', '2016-2-27', ''],
"analyst":['John Doe', 'Brad', 'John', 'Frank', 'Claud', 'John Doe']
})
は、それは同様にヌルとしてnull fixedDateですべてlastDateを作りました。それはサンプルdfには起こらなかった。これがなぜ起こっているのか? – Johnny
私は、実際の日付に日付文字列を変換することは厳密には必要ではないと書いていましたが、今はそうではないことを認識しています。 '' fixedDate''が空の文字列である場合、 '' mask'はTrueになります。 '' p.notnull(['']) 'np.array([True])と等しくなります。 'fixedDate'が空の文字列であっても' df.loc [mask、 'lastDate'] = df ['fixedDate'] 'は' lastDate'を上書きします。これは、あなたが 'pd.to_datetime'を使って日付文字列を' datetime64'に変換しなかったと仮定して、あなたが見ている動作を説明するかもしれません。 – unutbu