[問題] pandas一次刪除多行

作者: oo855050 (阿偉)   2019-05-17 14:54:04
板上各位好
我最近想要用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來刪除可能不太適合
感謝板上各位的幫忙>_<
作者: charlie11438 (煞氣a查理)   2019-05-17 15:20:00
https://i.imgur.com/AdZIzx9.jpg不知道這樣子是不是你要的 如果是連續 應該可以指定range來解
作者: TuCH (謬客)   2019-05-17 15:21:00
df = df.loc[~df[2:5].index].copy()
作者: charlie11438 (煞氣a查理)   2019-05-17 15:21:00
作者: TuCH (謬客)   2019-05-17 15:25:00
錯了 df = df.loc[~df.index.isin(df[2:5].index)].copy()
作者: oo855050 (阿偉)   2019-05-17 15:42:00
char大感謝你喔 用你的方式可行^_^另外想問一下 如果我想把第2行的2~4個row全部改成某一個字串有什麼比較快的方式嗎 我本來用for迴圈裡面用df.iloc[i,2]='文字'的方式加進去 但因為資料量太大導致運算變超級慢Q_Q
作者: lemon651 (小明)   2019-05-17 15:53:00
iloc的行數給範圍就行了吧
作者: oo855050 (阿偉)   2019-05-17 16:09:00
lem大感謝你的回覆不過實際上要如何執行呢 剛接觸python還不是很確切了解指令的使用方式
作者: charlie11438 (煞氣a查理)   2019-05-17 16:38:00
DataFrame.iloc[0:100,:]='str'這樣是將0~99列的值全部改為一值https://reurl.cc/6eq7O
作者: TitanEric (泰坦)   2019-05-17 18:06:00
大大們都好猛 手機打扣我不行
作者: HenryLiKing (HenryLiKing)   2019-05-17 19:18:00
手機寫扣的 真的很虐心欸
作者: charlie11438 (煞氣a查理)   2019-05-17 19:53:00
哈哈 用手機寫扣眼睛會燒 不過習慣就好XD
作者: alan23273850   2019-05-17 20:41:00
推用手機 猛
作者: oo855050 (阿偉)   2019-05-17 22:37:00
真的是太感謝大大們了(>人<;)
作者: dogppatrick (沒梗)   2019-05-30 05:15:00
比較無腦就轉np.array 取或刪除都方便

Links booklink

Contact Us: admin [ a t ] ucptt.com