作者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://webptt.com/cn.aspx?n=bbs/Python/M.1558076046.A.41A.html
2F:→ charlie11438: 不知道这样子是不是你要的 如果是连续 应该可以指 05/17 15:20
3F:→ charlie11438: 定range来解 05/17 15:20
4F:推 TuCH: df = df.loc[~df[2:5].index].copy() 05/17 15:21
6F:→ charlie11438: 最後结果 05/17 15:21
7F:推 TuCH: 错了 df = df.loc[~df.index.isin(df[2:5].index)].copy() 05/17 15:25
8F:→ oo855050: char大感谢你喔 用你的方式可行^_^ 05/17 15:42
9F:→ oo855050: 另外想问一下 如果我想把第2行的2~4个row全部改成某一个 05/17 15:44
10F:→ oo855050: 字串有什麽比较快的方式吗 我本来用for回圈里面用 05/17 15:45
11F:→ oo855050: df.iloc[i,2]='文字'的方式加进去 但因为资料量太大导致 05/17 15:46
12F:→ oo855050: 运算变超级慢Q_Q 05/17 15:46
13F:推 lemon651: iloc的行数给范围就行了吧 05/17 15:53
14F:→ oo855050: lem大感谢你的回覆不过实际上要如何执行呢 刚接触python 05/17 16:09
15F:→ oo855050: 还不是很确切了解指令的使用方式 05/17 16:09
16F:推 charlie11438: DataFrame.iloc[0:100,:]='str' 05/17 16:38
17F:→ charlie11438: 这样是将0~99列的值全部改为一值 05/17 16:38
19F:→ TitanEric: 大大们都好猛 手机打扣我不行 05/17 18:06
20F:→ HenryLiKing: 手机写扣的 真的很虐心欸 05/17 19:18
21F:推 charlie11438: 哈哈 用手机写扣眼睛会烧 不过习惯就好XD 05/17 19:53
22F:推 alan23273850: 推用手机 猛 05/17 20:41
23F:→ oo855050: 真的是太感谢大大们了(>人<;) 05/17 22:37
24F:推 dogppatrick: 比较无脑就转np.array 取或删除都方便 05/30 05:15
25F:推 bchoice: 厉害 09/20 20:11