作者oo855050 (阿偉)
看板Python
標題[問題] pandas一次刪除多行
時間Fri May 17 14:54:04 2019
板上各位好
我最近想要用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: 不知道這樣子是不是你要的 如果是連續 應該可以指 05/17 15:20
→ charlie11438: 定range來解 05/17 15:20
推 TuCH: df = df.loc[~df[2:5].index].copy() 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
→ 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