我正在尝试使用python pandas read_table函数从我的文件中读取一定范围的非连续列。为此,我正在努力:
df=pd.read_table('genes.fpkm_trackingTest', usecols=[0:4, 8,9, 12:19])
我的想法是我尝试使用“:”来选择usecols的列数范围,而不是使用用逗号“,”分隔的列号。我收到语法错误。如果我使用逗号“,”来分隔列号,那么它可以正常工作。
df=pd.read_table('genes.fpkm_trackingTest', usecols=[0,1,2,4, 8,9, 12,13,14,15,16,17,18,19])
然而,这可能很麻烦,因为有时我必须选择40列。我怎么能绕过这个?
我甚至尝试过
usecols=[range(0:4), 8, 9, range(12:19)]
但它也给了我错误。
我认为这应该是简单的事情要解决,但我无法在网上找到解决方案。
答案 0 :(得分:10)
应该是......
Python 3:
usecols = [*range(0, 5), 8, 9, *range(12, 20)]
Python 2:
usecols = range(0, 5) + [8, 9] + range(12, 20)
希望它有所帮助!