作者lattes (逢甲路黑天鵝)
看板Python
標題[問題] replace後資料直接寫入
時間Thu May 2 22:13:51 2019
各位大神大家好
小弟前幾天有詢問過關於時間欄位轉換資訊的問題
感謝大家提供的意見
我是超級新手所以主要是卡在不知道使用datetime函式恰不恰當
效率問題目前倒是其次
感謝froce大大的提點讓我有點起頭
目前遇到第二個問題是datetime對於原本小時時間的定義是00-23
但我資料中的時間是以01-24表示
所以需要將24轉換為00
https://imgur.com/a/17yWeZ9
https://ideone.com/Mye5bf
我在網路上查詢到可以使用inplace=True在做replace後直接寫入csv
但實際上執行卻是錯誤的
以下為錯誤代碼
x1[8].replace('2','0',inplace=True)
TypeError: replace() takes no keyword arguments
想請問大神們該如何解決
是用inplace寫入方式是不正確的還是我的程式碼有邏輯不正確之處
感謝大家的幫忙與回覆
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.210.143
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1556806435.A.B83.html
1F:→ djshen: 你去查過str.replace了嗎 05/02 22:20
3F:→ charlie11438: 如果是這樣處理呢? 05/03 00:32
5F:→ charlie11438: 最下面的是結果 05/03 00:33
6F:推 lemon651: inplace=True是pandas的操作 不是str的操作 而且你不應 05/03 03:37
7F:→ lemon651: 該是在string的特定index操作replace 這些東西document 05/03 03:37
8F:→ lemon651: 都有寫 05/03 03:37
9F:→ froce: inplace是你要直接改動DF時的參數。 05/03 16:00
10F:→ froce: 你要改的是convertDateStr這函數內容... 05/03 16:01
11F:→ froce: 去查datetime的用法吧。 05/03 16:02
12F:→ froce: 如果你是ipnut資料就是01~24的話,那就先想辦法把那字串改 05/03 16:28
13F:→ froce: 成符合的格式。 05/03 16:29
14F:→ froce: 對convertDateStr函數裡的value去做就行了。y 05/03 16:30
15F:→ froce: 別傻到去開csv用excel做。XD 05/03 16:31
16F:→ froce: value = value[:-2] + str(int(value[-2:])-1).zfill(2) 05/03 16:36
17F:→ froce: 另外這不會是政府開放資料集的東西吧?我印象中也有處理過 05/03 16:37
18F:→ froce: 類似的時間問題 05/03 16:37