gpt4 book ai didi

pandas - 按条件返回列表的子集元素(包括字符串)python pandas

转载 作者:行者123 更新时间:2023-12-05 04:27:16 24 4
gpt4 key购买 nike

假设我正在处理这个数据框:

<表类="s-表"><头>元素列表<正文>[123, 1234, abc-123, abc-1234][abc-321]南...

你可能知道,'[]'代表'Element List'列中的数据类型是list

我想要的输出应该是这样的:

<表类="s-表"><头>元素列表abc其他<正文>[123, 1234, abc-123, abc-1234][abc-123, abc-1234][123,1234][abc-321][abc-321]南南南南.........

重点是如何根据条件(如包含,或在)提取列表的子集并将其列在不同的列中。这里,'abc' 列包括包含 abc 字符串的子集,'Others' 列包括列表选定子集的补集。

不知道如何处理列中的列表数据类型...抱歉这个问题太天真了。

最佳答案

尝试:

mask = pd.notna(df["Element List"])

df[["abc", "Others"]] = df.loc[mask, "Element List"].apply(
lambda x: pd.Series(
{
"abc": [v for v in x if v.startswith("abc")] or np.nan,
"Others": [v for v in x if not v.startswith("abc")] or np.nan,
}
)
)

print(df)

打印:

                     Element List                  abc       Others
0 [123, 1234, abc-123, abc-1234] [abc-123, abc-1234] [123, 1234]
1 [abc-321] [abc-321] NaN
2 NaN NaN NaN

关于pandas - 按条件返回列表的子集元素(包括字符串)python pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72876300/

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