四段代码实现的都是一个功能,筛选出有效的数据:
第一段
for index, row in df_zhi_shu.iterrows():
# print(row['经营状态'])
# 之前保存的时候,部分格式错误,所以采用try的方式,进行同一的内容提取
if str(row['经营状态']).strip() != "存续" and str(row['经营状态']).strip() != "在业": # 根据domain进行去重
df_zhi_shu.drop(index, axis=0, inplace=True)
continue
if str(row['指数']).strip() == "停业": # 根据domain进行去重
df_zhi_shu.drop(index, axis=0, inplace=True)
continue
第二段
# 指定条件 df[df[x_lie] == '值']
df_zhi_shu_0 = df_zhi_shu[df_zhi_shu["经营状态"] =="存续"]
df_zhi_shu_1 = df_zhi_shu[df_zhi_shu["经营状态"] =="在业"]
df_zhi_shu = df_zhi_shu_0.append(df_zhi_shu_1)
第三段
# # | 或者 & 并且
# df_zhi_shu = df_zhi_shu[(df_zhi_shu["经营状态"] == "存续") | (df_zhi_shu["经营状态"]=="在业")]
# df_zhi_shu = df_zhi_shu[df_zhi_shu["指数"] !="停业"]
第四段
df_zhi_shu_0 = df_zhi_shu["经营状态"].map(lambda x: x == "存续" or x == "在业")
df_zhi_shu = df_zhi_shu[df_zhi_shu_0]
df_zhi_shu_1 = df_zhi_shu["指数"].map(lambda x: x != "停业")
df_zhi_shu = df_zhi_shu[df_zhi_shu_1]
优先推荐第三种写法,建议在代码量最小的情况下,选择出解释能力最强的代码,加以拓展。
代码是写给人看的,而不是写给机器运行的!!!