我有一个包含 1000 行的 Pandas 数据框。它有 Names
列包括客户名称及其记录。我想根据每个客户的唯一名称为他们创建单独的数据框。我将唯一名称放入列表中
customerNames = DataFrame['customer name'].unique().tolist()
这给出了以下数组
['Name1', 'Name2', 'Name3, 'Name4']
我通过捕获上面列表中的唯一名称并为每个名称创建数据帧并将数据帧分配给客户名称来尝试循环。因此,例如当我写 Name3
时,它应该将 Name3
的数据作为单独的数据帧
for x in customerNames:
x = DataFrame.loc[DataFrame['customer name'] == x]
x
上面几行只返回数据帧 Name4
作为数据帧结果,但跳过了其余部分。
我怎么解决这个问题?
原文由 ylcnky 发布,翻译遵循 CC BY-SA 4.0 许可协议
您当前的迭代每次运行时都会覆盖
x
两次:for
循环将客户名称分配给x
循环分配一个客户名称,然后您将其分配给数据帧为了能够稍后通过名称调用每个数据帧,请尝试将它们存储在字典中: