擅长:python、mysql、java
<pre><code>df2 = pd.DataFrame(columns=['new_name', 'freq'])
for name,group in df.groupby(['freq']):
#Get length of the names and max len
group['name_len'] = group['name'].apply(lambda x : len(x))
max_len = group['name_len'].max()
#Apply Filters
filter1 = group[group['name_len'] == max_len].reset_index(drop=True)
#get the target_name
target_name = np.array(filter1.name[0].capitalize())
new_names = target_name.repeat(group.shape[0])
#create new_names
group['new_name'] = new_names
group = group.drop(['name_len', 'name'], axis = 1)
print(group)
df2 = pd.concat([df2, group]).sort_index(axis=0)
</code></pre>