gpt4 book ai didi

python - 使用pandas.read_csv从csv文件加载数据时如何指定dtype?

转载 作者:太空狗 更新时间:2023-10-29 21:50:43 27 4
gpt4 key购买 nike

我有一些格式如下的文本文件:

000423|东阿阿胶|     300|1|0.15000|            |
000425|徐工机械| 600|1|0.15000| |
000503|海虹控股| 400|1|0.15000| |
000522|白云山A| |2| | 1982.080|
000527|美的电器| 900|1|0.15000| |
000528|柳 工| 300|1|0.15000| |

当我使用 read_csv 将它们加载到 DataFrame 时,它​​不会为某些列生成正确的数据类型。例如,第一列被解析为int,而不是unicode str,第三列被解析为unicode str,而不是int,因为缺少一个数据......有没有办法预设DataFrame的dtype,就像numpy.genfromtxt 呢?

更新:我像这样使用 read_csv 导致了问题:

data = pandas.read_csv(StringIO(etf_info), sep='|', skiprows=14, index_col=0, 
skip_footer=1, names=['ticker', 'name', 'vol', 'sign',
'ratio', 'cash', 'price'], encoding='gbk')

为了同时解决数据类型和编码问题,我需要先使用unicode()numpy.genfromtxt:

etf_info = unicode(urllib2.urlopen(etf_url).read(), 'gbk')
nd_data = np.genfromtxt(StringIO(etf_info), delimiter='|',
skiprows=14, skip_footer=1, dtype=ETF_DTYPE)
data = pandas.DataFrame(nd_data, index=nd_data['ticker'],
columns=['name', 'vol', 'sign',
'ratio', 'cash', 'price'])

如果read_csv 可以添加dtypeusecols 设置就好了。对不起我的贪婪。 ^_^

最佳答案

简单地说:不,还没有。在这个特定领域需要做更多的工作(阅读:更活跃的开发人员)。如果您可以发布您如何使用 read_csv,它可能会有所帮助。我怀疑条形之间的空白可能是问题所在

编辑:这已经过时了。 read_csv native 涵盖此行为

关于python - 使用pandas.read_csv从csv文件加载数据时如何指定dtype?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9695668/

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