看板 Python 關於我們 聯絡資訊
板上各位好 我最近想要用python做一些資料處理 目前的問題是 比如我的DataFrame長下面這樣 0 1 2 1 a a a 2 b b b 3 c c c 4 d d d 5 e e e 如果我想要刪除index為2~4的row 我的程式碼應該如何撰寫呢 因為在網路上查到的都是指定index編號來刪除 但目前我要刪除的row可能是連續的1000多列 所以用指定index來刪除可能不太適合 感謝板上各位的幫忙>_< -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.46.166 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1558076046.A.41A.html
charlie11438: https://i.imgur.com/AdZIzx9.jpg 05/17 15:20
charlie11438: 不知道這樣子是不是你要的 如果是連續 應該可以指 05/17 15:20
charlie11438: 定range來解 05/17 15:20
TuCH: df = df.loc[~df[2:5].index].copy() 05/17 15:21
charlie11438: https://i.imgur.com/1R7DNSk.jpg 05/17 15:21
charlie11438: 最後結果 05/17 15:21
TuCH: 錯了 df = df.loc[~df.index.isin(df[2:5].index)].copy() 05/17 15:25
oo855050: char大感謝你喔 用你的方式可行^_^ 05/17 15:42
oo855050: 另外想問一下 如果我想把第2行的2~4個row全部改成某一個 05/17 15:44
oo855050: 字串有什麼比較快的方式嗎 我本來用for迴圈裡面用 05/17 15:45
oo855050: df.iloc[i,2]='文字'的方式加進去 但因為資料量太大導致 05/17 15:46
oo855050: 運算變超級慢Q_Q 05/17 15:46
lemon651: iloc的行數給範圍就行了吧 05/17 15:53
oo855050: lem大感謝你的回覆不過實際上要如何執行呢 剛接觸python 05/17 16:09
oo855050: 還不是很確切了解指令的使用方式 05/17 16:09
charlie11438: DataFrame.iloc[0:100,:]='str' 05/17 16:38
charlie11438: 這樣是將0~99列的值全部改為一值 05/17 16:38
charlie11438: https://reurl.cc/6eq7O 05/17 16:39
TitanEric: 大大們都好猛 手機打扣我不行 05/17 18:06
HenryLiKing: 手機寫扣的 真的很虐心欸 05/17 19:18
charlie11438: 哈哈 用手機寫扣眼睛會燒 不過習慣就好XD 05/17 19:53
alan23273850: 推用手機 猛 05/17 20:41
oo855050: 真的是太感謝大大們了(>人<;) 05/17 22:37
dogppatrick: 比較無腦就轉np.array 取或刪除都方便 05/30 05:15
bchoice: 厲害 09/20 20:11