首页 > 解决方案 > 如何将整数转换为数据框中的字符串?

问题描述

我有一个数据框,其中标题“区域”由整数 1 到 4 表示。我正在尝试将“区域”从数据类型 int64 更改为我尝试使用的字符串.astype(str).apply(str)但我仍然收到错误:

文件“pandas/_libs/hashtable_class_helper.pxi”,第 1627 行,在 pandas._libs.hashtable.PyObjectHashTable.get_item KeyError: 'Region'

数据框示例:

在此处输入图像描述

如果我使用 Region2 列,我的代码可以工作,但这意味着每个月我都必须将所有区域编号转换为区域名称,这将非常耗时

#!/usr/bin/env python3
import pandas as pd
import numpy as np
# creating a data frame 
df = pd.read_csv("CSVData2.csv") 

#Change region to string

df['Region'] = df['Region'].apply(str) # I have tried both of these.
df['Region'] = df['Region'].astype(str)


df_out = pd.crosstab(df['Region'], df['Sales'], margins = True, margins_name = 'Total')


df_out.to_excel(r'/users/python/documents/DataFrametest.xlsx', sheet_name='Rawdata', index = True)    

标签: pythonpandas

解决方案


推荐阅读