Pandas从csv读取数据帧,索引为字符串,而不是int

时间:2015-08-04 15:36:02

标签: python numpy pandas

我的csv文件如下:

INDEX, VAL
04016170,22
04206261,11
0420677,11

df = pd.read_csv('data.csv', index_col='INDEX')

如何强制pandas将索引读为字符串而不是整数(以保留第一个0)?

2 个答案:

答案 0 :(得分:7)

您可以将dtype作为参数传递,这会将列映射到传递的dtype:

index_col

修改

好的,您可以这样做,当您在read_csv中明确设置set_index时出现错误,因此您必须首先加载csv,然后调用{{1}加载后:

In [134]:
df = pd.read_csv(io.StringIO(t), dtype={'INDEX':str})
df = df.set_index('INDEX')
df

Out[134]:
          VAL
INDEX        
04016170   22
04206261   11
0420677    11

答案 1 :(得分:1)

另外两行解决方案:

df = pd.read_csv('data.csv',index_col=0)
df.index = [str(x) for x in df.index]

df.index = df.index.astype(str)