我有一个包含 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
作为数据帧结果,但跳过了其余部分。
我怎么解决这个问题?
您当前的迭代将覆盖x
每次运行两次:for
循环将客户名称分配给x
,然后为其分配一个数据框。
为了以后能够通过名称调用每个数据帧,请尝试将它们存储在字典中:
df_dict = {name: df.loc[df['customer name'] == name] for name in customerNames}
df_dict['Name3']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)