熊猫read_csv dtype读取所有列,但很少读取为字符串

熊猫read_csv dtype读取所有列,但很少读取为字符串,第1张

熊猫read_csv dtype读取所有列,但很少读取为字符串

编辑-对不起,我误读了你的问题。更新了我的答案。

您可以将整个csv读取为字符串,然后将所需的列转换为其他类型,如下所示:

df = pd.read_csv('/path/to/file.csv', dtype=str)# example df; yours will be from pd.read_csv() abovedf = pd.Dataframe({'A': ['1', '3', '5'], 'B': ['2', '4', '6'], 'C': ['x', 'y', 'z']})types_dict = {'A': int, 'B': float}for col, col_type in types_dict.items():    df[col] = df[col].astype(col_type)

另一种方法是,如果您确实要在读入文件时为所有列指定正确的类型,而不是在以后更改它们:仅读入列名(无行),然后使用那些来填充应为字符串的列

col_names = pd.read_csv('file.csv', nrows=0).columnstypes_dict = {'A': int, 'B': float}types_dict.update({col: str for col in col_names if col not in types_dict})pd.read_csv('file.csv', dtype=types_dict)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5654424.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存