python - 如何将整数转换为数据框中的字符串?
问题描述
我有一个数据框,其中标题“区域”由整数 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)
解决方案
推荐阅读
- javascript - Javascript 正则表达式:匹配不在符号集中的任何字符(但仅当此符号不跟随反斜杠时)
- asp.net - AspDotNetWrapper - System.FormatException:Base-64 字符数组或字符串的长度无效
- javascript - hasOwnProperty 不适用于“onsubmit”属性
- macos - Mac mini 无法登录
- python - 使用python的mongodb集合中的日期到字符串转换
- react-native - 反应本机多步向导 formik yup
- sql - 红移中月份和年份的间隔语法
- python - websocket.inject_message 方法哪里去了?
- node.js - 使用 MERN 中的受保护路由向 google 和 facebook 进行身份验证
- python - 在调用函数时重新加载 jupyter 单元