pandas read_csv 将标头解析为字符串类型,但我想要整数 [英] pandas read_csv parse header as string type but i want integer
本文介绍了pandas read_csv 将标头解析为字符串类型,但我想要整数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
例如csv文件如下,(1,2,3)是header!
for example, csv file is as below ,(1,2,3) is header!
1,2,3
0,0,0
我使用 pd.read_csv 读取 csv 文件并打印
I read csv file using pd.read_csv and print
import pandas as pd
df = pd.read_csv('./test.csv')
print(df[1])
出现错误key error:1
似乎 read_csv
将标头解析为字符串..
it seems like that read_csv
parse header as string..
有没有办法在数据框列中使用整数类型?
is there any way using integer type in dataframe column?
推荐答案
我认为更通用的是通过 astype
:
I think more general is cast to columns names to integer
by astype
:
df = pd.read_csv('./test.csv')
df.columns = df.columns.astype(int)
另一种方法是首先只获取第一列并在 read_csv
:
Another way is first get only first column and use parameter names
in 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')
这篇关于pandas read_csv 将标头解析为字符串类型,但我想要整数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文