是否可以通过pd.to_csv为columns参数提供数值范围,即使标题用字符串标记?
示例数据框:
January February March April May June July August September
0 67 43 48 58 82 102 118 114 82
1 45 27 16 12 65 89 112 100 35
如果我想写出前八列,我将不得不使用:
pd.to_csv('<filename>',usecols=['January, February, March, April, May, June, July, August'])
这显然占用了大量空间,并且对于具有超过一百列的数据帧而言是不切实际的。但我似乎无法使用一系列列或切片作为参数:
df.to_csv('filename.csv',columns=list(range(1,9)))
返回KeyError: 'None of [[1, 2, 3, 4, 5, 6, 7, 8]] are in the [columns]'
。
我确定这是一种简单的方法,我无法在SO上找到任何类似的问题......
答案 0 :(得分:2)
您可以将数据框的列名称作为一个系列进行访问,然后对其进行切片,例如:
df.to_csv('filename.csv', usecols=df.columns[:8])
答案 1 :(得分:1)
替代解决方案:
df.ix[:, :7].to_csv('filename.csv')