python pandas之每個人都有自己的哈姆雷特

四段代碼實現的都是一個功能,篩選出有效的數據:

第一段

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]

優先推薦第三種寫法,建議在代碼量最小的情況下,選擇出解釋能力最強的代碼,加以拓展。   

代碼是寫給人看的,而不是寫給機器運行的!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章