gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 20:20:12 24 4
gpt4 key购买 nike

我的 csv 文件如下:

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

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

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

最佳答案

您可以通过 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

编辑

好的,你可以这样做,当你在 read_csv 中显式设置 index_col 时,这里有一个错误,所以你必须先加载 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

关于python - Pandas 从 csv 读取数据帧,索引为字符串,而不是 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31813500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com