[英]dict holds list - list comprehension
我需要收集數據框查詢的條件元素列表,我設法按如下方式創建它:
column = ['TotalCharges', 'gender']
equal = ['>', '==']
condition = [ 20, 'F']
query = ' & '.join(f'{i} {j} {repr(k)}' for i, j, k in zip(column, equal, condition))
所以查詢輸出:
TotalCharges > 20 & gender == 'F'
哪個是必需的和正確的,
我很好奇如何使用字典包含列表來實現同樣的事情,意思是
df_query_params = {"column":[],"equal":[],"condition":[]}
df_query_params["column"] = ['TotalCharges', 'gender']
df_query_params["equal"] = [ '>', '==']
df_query_params["condition"] = [20, 'F']
我嘗試了類似的方法,使用df_query_params.keys()
和df_query_params.items()
但它不起作用,
讓我對列表理解幾乎沒有迷失的事情是我不知道如何“逐漸”添加更多嵌套元素,
好吧,如果您只想使用對給定字典的理解進行相同的查詢,一種方法是使用 zip 遍歷字典的值,並以類似的方式加入。
>>> ' & '.join(f'{i} {j} {repr(k)}' for i,j,k in zip(*df_query_params.values()))
"TotalCharges > 20 & gender == 'F'"
你只需要換掉裸名。
query = ' & '.join(
f'{i} {j} {repr(k)}'
for i, j, k in
zip(
df_query_params["column"],
df_query_params["equal"],
df_query_params["condition"])
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.