启动Jupyter notebook(因为jupyter是安装在虚拟环境中,所以每次使用该虚拟环境之前激活虚拟环境):
# 激活虚拟环境
source myenv/bin/activate
# 启动虚拟环境
jupyter notebook
正文
apply() 函数是 pandas 库中 DataFrame 和 Series 对象的一个方法,它允许你对 DataFrame 或 Series 中的数据应用一个函数。这个方法可以用于对数据进行转换、过滤或者执行任何其他操作。
需求:
-
将 '处理地' 列转换为文本类型
-
截取处理地字段的前9位,并创建一个新列街道编码,将新列转为文本类型
-
对个体户表中的
全年营收字段进行营收分段,分段后作为新列 ⬇️
- 全年营收<2000或者为空的,营收分段显示为0;
- 全年营收>=2000并且<5000的,营收分段显示为200;
- 全年营收>=5000并且<10000的,营收分段显示为500;
- 全年营收>=10000并且<20000的,营收分段显示为1000;
- 全年营收>=20000的,营收分段显示为2000;
import pandas as pd
# 读取Excel文件
df = pd.read_excel('/Users/xxx/Desktop/Temp/个体户.xlsx')
# 将 '处理地' 列转换为文本类型
df['处理地'] = df['处理地'].astype(str)
# 将处理地转为文本类型,并截取处理地字段的前9位,并创建一个新列街道编码
df['街道编码'] = df['处理地'].astype(str).str[0:9]
# 定义营收分段的函数
def 收入分段函数(revenue):
if pd.isnull(revenue) or revenue < 2000:
return 0
elif 2000 <= revenue < 5000:
return 200
elif 5000 <= revenue < 10000:
return 500
elif 10000 <= revenue < 20000:
return 1000
else:
return 2000
# 应用营收分段函数,创建一个新的列'营收分段'
df['营收分段'] = df['全年营收'].apply(收入分段函数)
# 如果需要,可以将结果保存到新的Excel文件中
df.to_excel('/Users/xxx/Desktop/个体户导出_营收分段.xlsx', index=False)