df = pd.read_csv("C:\\Users")
print (df['AssignedTo'])
Out[4]:
0 vaughad
1 channln
2 stalasi
3 mitras
4 martil
5 erict
6 erict
7 channln
8 saia
9 channln
10 roedema
11 vaughad
Out[6]:
0 2015-11-05
1 2016-05-27
2 2016-04-26
3 2016-02-18
4 2016-02-18
5 2015-11-02
6 2016-01-14
7 2015-12-15
8 2015-12-31
9 2015-10-16
10 2016-01-07
11 2015-11-20
MaxDate = max(df.FilledEnd)
答案 0 :(得分:0)
您需要先使用group your data DataFrame.groupby()
,之后才能生成汇总值,例如FilledEnd
系列中的最大日期:
df.groupby('AssignedTo')['FilledEnd'].max()
这将产生一个以AssignedTo
为索引的序列,并将每个员工的最新日期作为值:
>>> df.groupby('AssignedTo')['FilledEnd'].max()
AssignedTo
channln 2016-05-27
erict 2016-01-14
martil 2016-02-18
mitras 2016-02-18
roedema 2016-01-07
saia 2015-12-31
stalasi 2016-04-26
vaughad 2015-11-20
Name: FilledEnd, dtype: object
如果您想将这些最大日期值添加回数据框中,请改用groupby(...).transform()
和numpy.max
,以便获得具有相同索引的系列:
df['MaxDate'] = df.groupby('AssignedTo')['FilledEnd'].transform(np.max)
这会添加一个MaxDate
列:
AssignedTo FilledEnd MaxDate
0 vaughad 2015-11-05 2015-11-20
1 channln 2016-05-27 2016-05-27
2 stalasi 2016-04-26 2016-04-26
3 mitras 2016-02-18 2016-02-18
4 martil 2016-02-18 2016-02-18
5 erict 2015-11-02 2016-01-14
6 erict 2016-01-14 2016-01-14
7 channln 2015-12-15 2016-05-27
8 saia 2015-12-31 2015-12-31
9 channln 2015-10-16 2016-05-27
10 roedema 2016-01-07 2016-01-07
11 vaughad 2015-11-20 2015-11-20