python - Pandas read_excel 返回对象类型的列

标签 python excel pandas dataframe types

使用以下代码从 Excel 中读取表格,丢弃列标题下的空行,并重命名索引:

Energy = pd.read_excel('assets/Energy Indicators.xls', header=16, usecols="C:F", index_col=0, nrows=227)
Energy = Energy.iloc[1:,:]
Energy.index.rename('Country',inplace=True)

对于如下所示的 Excel 表格:

Excel table showing header and col names

这成功返回了我需要的具有正确行和列的数据帧。但是,Energy.dtypes 将所有列显示为对象,并且我需要将包含国家/地区名称(我将其读为索引)的第一列设为 str 类型。我尝试了 Energy.index.astype(str) 但仍然将“object”作为索引类型。我将 dtype={0:str} 添加到 read_excel 调用中,但仍然将“object”作为索引类型。

a) 导致 read_excel 将我的索引返回为 str; 的正确方法是什么?或者 b) 将索引类型转换为 str?

最佳答案

您必须在 pd.read 函数中定义转换器:

Energy = pd.read_excel('assets/Energy Indicators.xls', header=16, usecols="C:F", index_col=0, nrows=227, converters={'my_column_name':str})

关于python - Pandas read_excel 返回对象类型的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68381967/

相关文章:

python - 分块读取 Pandas 中的多个 CSV 文件

数据框中的 Pandas 聚合计数

python - 有没有解决方案可以对 pandas 的条件进行计数和重新计数?

python - Unicode解码错误: position of the error

python - 使用循环从列表中弹出项目

excel - 如何动态引用用户表单

php - 一旦我计算出要输出的两位数应该不同,那么php中的excel表

excel - 跳过 "reading"之前的 6 行进入电源查询

python - Python 函数的问题

python - 在 C 中嵌入 Python : Undefined reference (but works in Go)