可以使用Pandas库来解决这个问题。假设我们有一个名为df的数据框,其中有三列,如下所示:
import pandas as pd
df = pd.DataFrame({
'A': [1, 2, 3, 4],
'B': [5, 6, 7, 8],
'C': [9, 10, 11, 12]
})
现在,我们想按列分组并选择在任何列中存在的值。例如,如果我们以列“B”为分组依据,则我们想选择值5,6,7和8,因为它们存在于列“B”中,并且它们也存在于其他两列中。
这可以通过Pandas的apply和any方法来实现。具体来说,我们可以将apply方法应用于DataFrameGroupBy对象,并使用any方法将所有列的值聚合到一个布尔值中。然后,我们可以使用这个布尔值选择在任何一列中存在的值。下面是完整的代码示例:
grouped = df.groupby('B')
result = grouped.apply(lambda x: x.any())
output = result[result == True].index.to_list()
这将返回包含5、6、7和8的列表。
上一篇:按列分组并显示所有列值的LINQ
下一篇:按列分组并应用不同的聚合函数