我试图为 csv 文件中的所有列名称提供虚拟名称,这些名称是从 0 到 400 的整数。但是,以下代码不起作用,我收到一条错误消息,指出语法错误。我的错误是什么?
df = pd.read_csv("df.csv", sep=',', 编码='utf-8', header=0, names = [0:400])
最佳答案
我认为你可以更改header=None
,添加参数skiprows=1
并省略参数names
,因为read_csv
默认情况下,将列名称从 0
添加到(列长度 - 1
)。参数 sep=','
是默认值,因此也可以省略。
示例:
import pandas as pd
import io
temp=u"""a,b,c
1,5,7
2,7,8
3,1,9
4,8,6
1,5,3"""
#after testing replace io.StringIO(temp) to filename
df = pd.read_csv(io.StringIO(temp), header=None, skiprows=1, encoding='utf8')
print df
0 1 2
0 1 5 7
1 2 7 8
2 3 1 9
3 4 8 6
4 1 5 3
或者将参数 names
更改为 names=range(400)
,因为您有 400
列:
df = pd.read_csv(io.StringIO(temp), header=0, names=range(3), encoding='utf8')
print df
0 1 2
0 1 5 7
1 2 7 8
2 3 1 9
3 4 8 6
4 1 5 3
关于python - 自动覆盖 pandas 数据框中的列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35932791/