下面是一个示例代码,展示了如何按照多列排序唯一值,并合并非匹配列的值:
import pandas as pd
# 创建示例数据
data = {'Column1': ['A', 'A', 'B', 'B', 'C', 'C'],
'Column2': ['X', 'Y', 'Y', 'Z', 'X', 'Z'],
'Column3': ['Value1', 'Value2', 'Value3', 'Value4', 'Value5', 'Value6']}
df = pd.DataFrame(data)
# 按照多列排序
df_sorted = df.sort_values(by=['Column1', 'Column2'])
# 按照多列去重,保留第一次出现的值
df_unique = df_sorted.drop_duplicates(subset=['Column1', 'Column2'], keep='first')
# 合并非匹配列的值
df_merged = df_unique.groupby(['Column1', 'Column2'])['Column3'].apply(', '.join).reset_index()
print(df_merged)
运行以上代码,输出如下结果:
Column1 Column2 Column3
0 A X Value1
1 A Y Value2
2 B Y Value3, Value4, Value6
3 B Z Value4
4 C X Value5
5 C Z Value6
在这个示例中,我们首先按照Column1
和Column2
进行排序,然后使用drop_duplicates
方法去除重复项,并保留第一次出现的值。最后,使用groupby
和apply
方法将非匹配列Column3
的值进行合并,并将结果存储在df_merged
中。