【发布时间】:2020-10-25 05:51:45
【问题描述】:
我正在尝试遍历 Pandas 数据框中的系列,并将列表项的计数存储在与每一行的项目同名的另一列中。该系列就像一个列表列表,所以基本上我试图将该列表列表转换为一个单热向量,但该向量中的每个项目都是一列。可以出现的项目数量有限。
以下是我的方法。它工作得很好,但它的速度很慢。我在此处发布此内容是为了尝试找到一种更好、更“pythonic”的方法。
N_Series = len(df.Category)
for i in range(N_Series):
itemList = df.Category[i]
N_List = len(itemList)
for k,v in Counter(itemList).items():
df[k][i] = v/N_List
以下是一个示例,Category 列是一个列表,可以看到相应的 one-hot 列保存列表中的项目数/项目数。
提前致谢!
【问题讨论】:
-
您能添加一些示例输入/输出吗?谢谢
-
我认为
df[k][i] = v/N_List行不通 -
@FrancisWebb 感谢您请求此编辑。希望这会有所帮助。
-
请在您的问题中包含示例输入以及预期输出,作为文本,以便其他人可以轻松地复制它。
-
现在清楚了`
标签: python python-3.x pandas list counter