解决方法 1: 按组计数和筛选
# 导入必要的库
import pandas as pd
# 创建一个示例数据集
data = {'组别': ['A', 'A', 'B', 'C', 'C', 'C'],
'数值': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# 按组计数和筛选
group_counts = df.groupby('组别').count()
filtered_groups = group_counts[group_counts['数值'] > 1]
# 输出结果
print(filtered_groups)
解决方法 2: 行转列转换
# 导入必要的库
import pandas as pd
# 创建一个示例数据集
data = {'姓名': ['Alice', 'Bob', 'Charlie'],
'科目': ['数学', '英语', '数学'],
'分数': [90, 85, 95]}
df = pd.DataFrame(data)
# 行转列转换
pivot_table = df.pivot(index='姓名', columns='科目', values='分数')
# 输出结果
print(pivot_table)
这两个示例演示了两种不同的解决方法。
第一个示例中,我们使用groupby
函数按照组别进行分组,然后使用count
函数计算每个组别的数量。最后,我们根据数量筛选出数量大于1的组别。
第二个示例中,我们使用pivot
函数将DataFrame从长格式转换为宽格式。在这个例子中,我们将姓名作为索引,科目作为列,分数作为值。这样就可以将每个学生的分数按照科目进行展示。