繁体   English   中英

我如何编写一个函数或循环,将每个唯一值分配到它自己的可访问数据框中?

[英]How could I write a function or loop that assigns each unique value into its own accessible dataframe?

我正在寻找一种为数据框列中的每个唯一值创建数据框的方法。

我有一个如下表(显然这是组成数据):

| Staff |  debit  |  credit  | Day      |
| Bob   |  100    |  25      | Monday   |
| Sue   |  15     |  95      | Wednesday|
| Bob   |  125    |  40      | Monday   |
| Bob   |  100    |  2       | Friday   |
| Sue   |  50     |  50      | Tuesday  |
| Bob   |  16     |  80      | Thursday |

我创建了一个数据框字典,用于过滤我希望使用此代码的方式:

x = dict(tuple(report.gropuby('Staff')))

然后我可以通过以下方式调用每个键来打印过滤后的数据帧:

鲍勃 = x['鲍勃']

这看起来像:

| Staff |  debit  |  credit  | Day      |
| Bob   |  100    |  25      | Monday   |
| Bob   |  125    |  40      | Monday   |
| Bob   |  100    |  2       | Friday   |
| Bob   |  16     |  80      | Thursday |

有没有一种方法可以为字典中的每个键循环命名并为此数据框字典中的每个键创建一个数据框? 然后我想将每个数据框导出到同一个 Excel 文件的自己的 Excel 工作表(.xls 或 .xlsx)。 有超过 50 名员工,而且每个人都定期更换,因此最好自动执行此操作,而不是每次手动编写姓名列表。

我想出了一种不同的方法来做我想做的事情,也许它会帮助别人。 我没有创建该字典然后尝试将其转换为 Excel,而是使用以下代码从原始数据帧中使用 groupby 转换为 Excel:

 with pd.ExcelWriter('test.xlsx') as writer: 
    for Staff, df in  df.groupby('Staff'): 
        df.to_excel(writer, sheet_name = Staff)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM