gpt4 book ai didi

Python 删除列

转载 作者:行者123 更新时间:2023-11-30 22:53:46 26 4
gpt4 key购买 nike

我正在尝试使用 Python 从数据框中删除最后两列。

问题是最后两列中有一些单元格的值是我们不需要的,并且这些列没有标题。

这是我编写的代码,但我对 Python 非常陌生,不知道如何获取原始数据并删除最后两列。

import csv
with open("Filename","rb") as source:
rdr= csv.reader( source )
with open("Filename","wb") as result:
wrt= csv.writer ( result )
for r in rdr:
wrt.writerow( (r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8], r[9], r[10], r[11]) )

谢谢!

最佳答案

执行此类操作的正确 Pythonic 方法是通过切片:

r[start:stop(:step)]

startstop是索引,其中正索引从前面开始计数,负索引从末尾开始计数。空白的 startstop 分别被视为 r 的开头和结尾。 step 是一个可选参数,我将在稍后解释。任何切片都会返回一个数组,您可以对其执行其他操作或立即返回。

为了删除最后两个值,您可以使用切片

r[:-2]

step带来更多乐趣

现在是step参数。它允许您从所选切片中选取每个step值。例如,使用 r = [0,1,2,3,4,5,6,7,8,9,10] 的数组,您可以选择从第一个 (所有偶数)与切片r[::2]。为了以相反的顺序获得结果,您可以将步骤设为负值:

> r = [0,1,2,3,4,5,6,7,8,9,10]
[0,1,2,3,4,5,6,7,8,9,10]
> r[::-1]
[10,9,8,7,6,5,4,3,2,1,0]

关于Python 删除列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38085150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com