给出以下数据:
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
不过,我不确定该怎么做,我尝试了以下方法:
data.groupby("source").apply(
lambda grp: pd.Series([any(grp["variable"].str.contains(v)) for v in vals])
)
这花了我几次,我现在想知道是否有更好的方法。
(欢迎任何帮助编写更好的标题)
森林海
相关分类