四段代碼實現的都是一個功能,篩選出有效的數據:
第一段
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]
優先推薦第三種寫法,建議在代碼量最小的情況下,選擇出解釋能力最強的代碼,加以拓展。
代碼是寫給人看的,而不是寫給機器運行的!!!