如何将if elif语句的输出保存到python dataframe中的新变量?

时间:2019-03-24 15:26:15

标签: python regex pandas dataframe

如何编辑以下脚本以将输出另存为原始数据框中的新变量?

又是:是否将输出保存为每个if elif语句的新变量,而不是打印功能?

import re

df = pd.read_excel('edmundstest.xlsx')

for Keyword, Landing_Page in zip(df["Keyword"], df["Landing_Page"]):

# the url
    if "/2019/" in Landing_Page:
        new_model_core_incentives = Landing_Page
        print(f"new_model_core_incentives {new_model_core_incentives}")
    elif re.search("/(?:(?:20)|(?:19))\d{2}/", Landing_Page):
        used_model_core_incentives = Landing_Page 
        print(f"used_model_core_incentives {used_model_core_incentives}")    

# the "keywords"
    if "2019" in Keyword:
        new_word = Keyword
        print(f"new_word {new_word}")
    elif re.search("/(?:(?:20)|(?:19))\d{2}/", Keyword) is None:
        old_word = Keyword
        print(f"old_word {old_word}")

,例如:new_model_core_incentivesused_model_core_incentives是数据框中的新变量,而new_wordold_word是数据框中的新变量?

1 个答案:

答案 0 :(得分:0)

您可以使用字典:

dict[Keyword]=f"new_model_core_incentives {new_model_core_incentives}"
dict2[Keyword]=f"old_word {old_word}"

类似这样的东西:

import re

df = pd.read_excel('edmundstest.xlsx')

dict, dict2 = {}, {}

for Keyword, Landing_Page in zip(df["Keyword"], df["Landing_Page"]):

# the url
    if "/2019/" in Landing_Page:
        new_model_core_incentives = Landing_Page
        print(f"new_model_core_incentives {new_model_core_incentives}")
    elif re.search("/(?:(?:20)|(?:19))\d{2}/", Landing_Page):
        used_model_core_incentives = Landing_Page 
        dict[Keyword]=f"new_model_core_incentives {new_model_core_incentives}"    

# the "keywords"
    if "2019" in Keyword:
        new_word = Keyword
        print(f"new_word {new_word}")
    elif re.search("/(?:(?:20)|(?:19))\d{2}/", Keyword) is None:
        old_word = Keyword
        dict2[Keyword]=f"old_word {old_word}"