python - 通读数据以根据会议标准为新字段设置值
问题描述
我正在使用一个数据集,需要将其分成多个字段进行清理。我用它的分隔符分割字段,这样我就可以为数组的每个可能的变体运行 .loc 语句。
这是我要分离的字段的示例:
邮政路 968 号套房 108
new_mail1 = parcel_df['MAIL_ADDR1'].str.split(" ", n = 7, expand = True)
parcel_df['Mail_10']= new_mail1[0]
parcel_df['Mail_11']= new_mail1[1]
parcel_df['Mail_12']= new_mail1[2]
parcel_df['Mail_13']= new_mail1[3]
parcel_df['Mail_14']= new_mail1[4]
parcel_df['Mail_15']= new_mail1[5]
parcel_df['Mail_16']= new_mail1[6]
parcel_df['Is_Number'] = parcel_df['Mail_10'].str.isnumeric()
parcel_df["House_Number"] = np.where(parcel_df["Is_Number"] == "True", 0, parcel_df['Field_1'])
parcel_df.loc[parcel_df.Field_1 == "0", "Street_Name"] = parcel_df['Field_1']
我觉得有几十个 .loc 语句对例程来说很麻烦。我试图找到一种更有效的方法来检查每个字段以检查某些标准;字段 1 为数字,字段 2 为字符串,字段 3 为空,则字段 4 为字段 1
If Field_1 is numeric
then check Field_2 to see if != '0',
then check Field_3 to see if != '0',
If Yes to above criteria, Field_4 = Field_1 + Field_2 + Field_3
该列表针对字段 MAIL_ADDR1 格式化方式的每个变体进行了列出,但是通过为 .loc 构建的逻辑很麻烦
解决方案
推荐阅读
- docker - 安装 docker 客户端和 docker 组合在一个 docker 文件(Node js 应用程序)中
- ruby - 如何处理 XML 响应。获取元素数据失败
- firebase-authentication - Ionic4:电子邮件无密码身份验证 - 用户未注册
- python - Pandas:重塑和组合数据
- javascript - 如何创建具有多种状态的按钮?
- c++ - 从 char* 中提取 '\r' 之前的所有字符
- python - 使用来自 for 循环的结果字典填充数据库 - psycopg2
- sonos - 添加节目电台
- android - 被拒绝后重新提交应用到 google play
- vue.js - Vuejs中一个容器中的多个highcharts