【发布时间】:2022-12-17 22:18:24
【问题描述】:
我正在努力将以下代码行转换为 r.
for genre in c_a:
df['is_'+str(genre)] = df['genre'].apply(lambda x: genre in [y.strip() for y in x.split(',')])
基本上,我有一个对象(类型为“字符”,其中有 1341 个值),我想为变量的每个值添加新列,并通过检查是否将 0/1 值分配给新列新栏目包含在流派栏目中。
例如:
当前输入:
| Genre |
|---|
| dance pop, pop |
| country, pop |
预期输出:
| Genre | dance pop | pop | country |
|---|---|---|---|
| dance pop, pop | 1 | 1 | 0 |
| country, pop | 0 | 1 | 1 |
我对R中的apply和lambda函数不熟悉,只知道通过for循环解决问题,比较慢。
【问题讨论】:
-
您好,您需要 Python 中的帮助代码吗?如果没有,建议您从标签中删除 python。
-
您的输入到底是什么样子的?
-
@R。 Baraiya 嗨,我想在 R 中获得帮助。谢谢你提出这个问题。
-
@Martin Gal 你好,我已经编辑了我的问题,所以你可以看到当前的输入和预期的输出。基本上,现在我只有“流派”列和其他功能,我想通过查看它的值来修改这个“流派”。
-
您的输入是数据框还是向量?
标签: r dataframe function apply