例如,csv文件如下,(1,2,3)是标题!
1,2,3
0,0,0
Run Code Online (Sandbox Code Playgroud)
我使用pd.read_csv读取csv文件并打印
import pandas as pd
df = pd.read_csv('./test.csv')
print(df[1])
Run Code Online (Sandbox Code Playgroud)
发生错误 key error:1
似乎该read_csv解析标头为字符串。
有什么办法在数据框列中使用整数类型?
我认为将更通用的名称强制转换为integerby astype:
df = pd.read_csv('./test.csv')
df.columns = df.columns.astype(int)
Run Code Online (Sandbox Code Playgroud)
另一种方式是先只得到第一列和使用参数names在read_csv:
import csv
with open("file.csv", "r") as f:
reader = csv.reader(f)
i = np.array(next(reader)).astype(int)
#another way
#i = pd.read_csv("file.csv", nrows=0).columns.astype(int)
print (i)
[1 2 3]
df = pd.read_csv("file.csv", names=i, skiprows=1)
print (df.columns)
Int64Index([1, 2, 3], dtype='int64')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2557 次 |
| 最近记录: |