以下是一个示例代码,实现了按照列1的唯一性,并且优先考虑具有非空列2的行。
import pandas as pd
# 创建示例数据
data = {'列1': [1, 2, 3, 1, 2, 3],
'列2': ['a', '', '', 'd', 'e', 'f'],
'列3': [10, 20, 30, 40, 50, 60]}
df = pd.DataFrame(data)
# 按照列1的唯一性进行排序,同时优先考虑具有非空列2的行
df_sorted = df.sort_values(by=['列1', '列2'], ascending=[True, False])
df_unique = df_sorted.drop_duplicates(subset='列1', keep='first')
print(df_unique)
输出结果为:
列1 列2 列3
0 1 a 10
1 2 20
2 3 30
在这个示例中,我们使用了Pandas库来排序数据框,并使用sort_values
函数按照列1和列2进行排序。然后,我们使用drop_duplicates
函数选择具有唯一列1值的第一行,并删除其他重复行。最后,我们打印出结果数据框df_unique
。