gpt4 book ai didi

python - Pandas 中的逻辑应用功能不符合预期

转载 作者:行者123 更新时间:2023-12-04 07:38:14 24 4
gpt4 key购买 nike

我有一个数据框,我在其中构建了一个值列表:

data_df["items"] = data_df.apply(
lambda x: [x["item_1"], x["item_2"]]
if x["item_2"]
else [x["item_1"]],
axis=1,
)
在我看来,如果 item_2,这种方法应该构造一个包含第 1 项和第 2 项的列表。存在,否则它应该只构建一个包含 item_1 的列表。但是,检查 item_2似乎没有按预期工作。我试过检查 None值以及空字符串。我该如何编写它以便发生以下情况:
如果 item_1item_2是 None 或 ""return []
如果 item_1不是 None 而是 item_2是 None 或 ""return [ item_1 ]
如果 item_1item_2返回 [ item_1 , item_2 ]
另外, item_1item_2是字符串

最佳答案

使用 pd.isna() :

df['item_list'] = df[['item1', 'item2']].apply(lambda x: [i for i in x if not pd.isna(i)], 1)
更新:
df['item_list'] = df[['item1', 'item2']].apply(lambda x: [i for i in x if not (pd.isna(i) or i == '')], 1)

关于python - Pandas 中的逻辑应用功能不符合预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67637346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com