Que*_*tin 2 python numpy pandas
我的csv文件如下:
INDEX, VAL
04016170,22
04206261,11
0420677,11
Run Code Online (Sandbox Code Playgroud)
df = pd.read_csv('data.csv', index_col='INDEX')
如何强制pandas将索引读取为字符串而不是整数(以保留第一个0)?
您可以传递dtype作为参数,这会将列映射到传递的dtype:
In [130]:
import io
import pandas as pd
t="""INDEX,VAL
04016170,22
04206261,11
0420677,11"""
df = pd.read_csv(io.StringIO(t), index_col='VAL', dtype={'INDEX':str})
df
Out[130]:
INDEX
VAL
22 04016170
11 04206261
11 0420677
In [131]:
df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 3 entries, 22 to 11
Data columns (total 1 columns):
INDEX 3 non-null object
dtypes: object(1)
memory usage: 48.0+ bytes
Run Code Online (Sandbox Code Playgroud)
编辑
好的,你可以这样做,当你明确设置index_colin时read_csv,这里有一个bug ,所以你必须首先加载csv然后set_index加载后调用:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5602 次 |
| 最近记录: |