在pandas中,可以使用groupby
和agg
函数将重复的行合并到一行中,并添加新列。
首先,使用groupby
函数将数据按照指定的列进行分组。然后,使用agg
函数对每个分组进行聚合操作,将重复的行合并到一行中,并添加新列。
以下是一个示例代码:
import pandas as pd
# 创建示例数据
data = {'Name': ['John', 'John', 'Alice', 'Bob', 'Alice'],
'Age': [25, 25, 30, 35, 30],
'City': ['New York', 'New York', 'Los Angeles', 'Chicago', 'Los Angeles']}
df = pd.DataFrame(data)
# 将重复的行合并到一行中,并添加新列
df_merged = df.groupby(['Name', 'Age']).agg({'City': ', '.join}).reset_index()
df_merged['Count'] = df.groupby(['Name', 'Age']).size().reset_index(name='Count')['Count']
print(df_merged)
输出结果如下:
Name Age City Count
0 Alice 30 Los Angeles 2
1 Bob 35 Chicago 1
2 John 25 New York 2
在这个例子中,我们按照Name
和Age
列进行分组,将重复的行合并到一行中,并添加了一个新列Count
来表示每个分组的行数。
推荐的腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体的产品选择应根据实际需求和情况进行评估。
领取专属 10元无门槛券
手把手带您无忧上云