Python 遍历数据帧,使用Pandas GroupBy.nunique对列进行分组,并将分组后的数据帧列导出到多个.xlsx文件中

Python 遍历数据帧,使用Pandas GroupBy.nunique对列进行分组,并将分组后的数据帧列导出到多个.xlsx文件中,python,pandas,group-by,pandas-groupby,Python,Pandas,Group By,Pandas Groupby,我有一个excel文件,其中有超过300k条记录,我正试图根据每个记录下面列出的列类型“Executive Office”,将较小的数据子集选择为单独的.xlsx文件。有10种不同的办公室类型,我可以看到df.groupby('Executive office')。nunique()正确地显示了这个计数 我知道循环中有一些东西没有正确读取我的组的结果,但我不太明白当它在数据帧中迭代时发生了什么 df = pd.read_excel(file.xlsx) execGroups = df.group

我有一个excel文件,其中有超过300k条记录,我正试图根据每个记录下面列出的列类型“Executive Office”,将较小的数据子集选择为单独的.xlsx文件。有10种不同的办公室类型,我可以看到
df.groupby('Executive office')。nunique()
正确地显示了这个计数

我知道循环中有一些东西没有正确读取我的组的结果,但我不太明白当它在数据帧中迭代时发生了什么

df = pd.read_excel(file.xlsx)
execGroups = df.groupby('Executive Office').nunique()

#for-loop intending to separate out employees by each individual executive group and export to .xlsx
for name, group in execGroups:
    df.to_excel('C:/filepath{}.xlsx'.format(name), index = False)
    print('Executive Group Files created')
我的错误是:

对于名称,execGroups中的group: ValueError:要解压缩的值太多(应为2个)


出现此错误是因为我没有为执行办公室类型定义列表或字典,和/或我没有正确理解密钥的使用吗?

此错误是因为执行组中只有一个变量。您正在尝试获取两个:名称、组

试试这个:

for i in list(df['Executive Office'].unique()):
    tempdf=df.loc[df['Executive Office']=i]
    tempdf.to_excel('C:/filepath{}.xlsx'.format(i), index = False)

错误是因为ExecGroup中只有一个变量。您正在尝试获取两个:名称、组

试试这个:

for i in list(df['Executive Office'].unique()):
    tempdf=df.loc[df['Executive Office']=i]
    tempdf.to_excel('C:/filepath{}.xlsx'.format(i), index = False)

你好,纳比。这似乎给了我一个'equals i'登录的语法错误
tempdf=df.loc[df['Executive Office']=i]
。还有什么我可以试试的吗?嗨,我只是快速输入了代码。。。应该是“=”而不是“=”谢谢!这起作用了。是否有办法在行
tempdf=df.loc[df['Executive Office']==i]
中添加另一个参数以进一步指定星期?正如在另一个专栏中一样,其中一个专栏名被称为“周”——特别是“12/13-12/19”的一周。这似乎给了我一个'equals i'登录的语法错误
tempdf=df.loc[df['Executive Office']=i]
。还有什么我可以试试的吗?嗨,我只是快速输入了代码。。。应该是“=”而不是“=”谢谢!这起作用了。是否有办法在行
tempdf=df.loc[df['Executive Office']==i]
中添加另一个参数以进一步指定星期?正如在另一个栏目中,其中一个栏目的名称被称为“周”——特别是“12/13-12/19”这一周