с учетом следующих данных:
data = pd.DataFrame(
dict(
source=["file1", "file1", "file2", "file2"],
variable=["shipp", "carrr", "shipp", "bikee"],
)
)
vals = pd.Series(["ship", "bike"])
Что выглядит как:
source variable
0 file1 shipp
1 file1 carrr
2 file2 shipp
3 file2 bikee
Я хочу создать следующее:
ship bike
file1 True False
file2 True True
Я не конечно, как об этом go, я попробовал кое-что из следующего:
data.groupby("source").apply(
lambda grp: pd.Series([any(grp["variable"].str.contains(v)) for v in vals])
)
Это заняло у меня несколько раз, и теперь мне интересно, есть ли более хороший подход.
(Любая помощь в написании лучшего названия приветствуется)