我试图通过一个数据帧执行一个嵌套循环,我对使用python真的很陌生。不知怎么的,通过谷歌我找到了许多例子,但最后一个是我需要的。我使用iterrows在数据帧上循环,并仅使用具有相同日期的数据对日期进行索引。这很管用。现在我想要嵌套循环,但不知道它是如何与iterrows一起工作的?代码如下:
import pandas as pd
df = pd.read_csv('C:/Files_Employees.csv', encoding='cp1252', sep=';', index_col=0).dropna()
for current_date in df.index.unique():
print('calculating date: ' +str(current_date))
for index, row in df.iterrows():
if index == current_date:
print(row['Person'])
我是通过一个嵌套的循环来完成的,但是在这里我不确定我如何能够像上面所示那样进行索引,并且不知何故预期的结果是错误的。代码如下所示:
^{pr2}$如果需要一个例子,我可以包括一个。在
示例文件如下所示:
working_date Working Group Person Working Hours Country
2017-07-14 1 Mike 59 USA
2017-07-14 2 Molly 60 USA
2017-07-14 3 Dennis 45 USA
2017-07-14 4 Pablo 45 USA
2017-07-14 1 Jeff 42 USA
2017-07-14 2 Emily 55 USA
2017-07-14 3 Sophia 46 USA
2017-07-14 4 Alice 41 USA
2017-07-14 1 Ethan 57 USA
2017-07-14 2 Alexander 59 USA
2017-07-14 3 Edward 41 USA
2017-07-14 4 Daniel 46 USA
2017-07-15 1 Mike 59 USA
2017-07-15 2 Molly 59 USA
2017-07-15 3 Dennis 61 USA
2017-07-15 4 Pablo 58 USA
2017-07-15 1 Jeff 58 USA
2017-07-15 2 Emily 51 USA
2017-07-15 3 Sophia 65 USA
2017-07-15 4 Alice 53 USA
2017-07-15 1 Ethan 49 USA
2017-07-15 2 Alexander 61 USA
2017-07-15 3 Edward 56 USA
2017-07-15 4 Daniel 65 USA
最终输出应如下所示,在嵌套循环中汇总每个工作组,例如工作组1的工作日期2017-07-14为59+42+57=158:
working_date Working Group Working Hours Country
2017-07-14 1 158 USA
2017-07-14 2 174 USA
2017-07-14 3 132 USA
2017-07-14 4 132 USA
2017-07-15 1 166 USA
2017-07-15 2 171 USA
2017-07-15 3 182 USA
2017-07-15 4 176 USA
对于Pandas,应该使用向量化操作。在这里,您只需使用
GroupBy
+sum
:相关问题 更多 >
编程相关推荐