首页 > 解决方案 > 通读数据以根据会议标准为新字段设置值

问题描述

我正在使用一个数据集,需要将其分成多个字段进行清理。我用它的分隔符分割字段,这样我就可以为数组的每个可能的变体运行 .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 构建的逻辑很麻烦

标签: pythonarrayspandasdataframejupyter-notebook

解决方案


推荐阅读