def test_for_longer(): | |
data = [{'foo': 'GD-20190101-010101', 'son': 'GD-123'}, | |
{'foo': 'GD-20190101-010101', 'son': 'GD-12345'}, | |
{'foo': 'GD-20190101-010102', 'son': 'GD-123'}, | |
{'foo': 'GD-20190101-010102', 'son': 'GD-123456'}] | |
df = pd.DataFrame(data) | |
df['size'] = df['son'].str.len() | |
# df['size'] = df.apply(lambda x: len(x['son']), axis=1) | |
idx = df.groupby('foo')['size'].idxmax() | |
return df.loc[idx, ['foo', 'son']] | |
if __name__ == '__main__': | |
val = test_for_longer() | |
print(val) |