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']
})
當我申請面膜我的真實數據集,這讓所有的lastDate與空fixedDate爲空爲好。這並沒有發生在樣本df上。任何線索爲什麼會發生這種情況? – Johnny
我寫過將日期字符串轉換爲實際日期並不是絕對必要的,但現在我意識到這是不正確的。 'pd.notnull([''])'等於'np.array([True])'所以'mask'將會是True,其中'fixedDate'是一個空字符串。即使'fixedDate'是一個空字符串,這會導致'df.loc [mask,'lastDate'] = df ['fixedDate']'覆蓋'lastDate'。這可能會解釋你看到的行爲,假設你沒有使用'pd.to_datetime'將日期字符串轉換爲'datetime64's。 – unutbu