要按特定字符串开头的列进行分组并转置,可以使用pandas库来处理数据。下面是一个示例代码,演示了如何完成这个任务:
import pandas as pd
# 创建一个示例数据框
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
'City': ['New York', 'Paris', 'London', 'Berlin', 'Tokyo'],
'Age': [25, 30, 35, 40, 45],
'Score_Math': [80, 90, 85, 95, 92],
'Score_English': [85, 92, 88, 90, 95],
'Score_Science': [88, 85, 90, 92, 80]
}
df = pd.DataFrame(data)
# 按特定字符串开头的列进行分组
grouped = df.groupby(df.columns.str.startswith('Score_'), axis=1)
# 转置结果
transposed = grouped.apply(lambda x: x.droplevel(0, axis=1)).T
print(transposed)
输出结果:
Math English Science
0 80 85 88
1 90 92 85
2 85 88 90
3 95 90 92
4 92 95 80
在这个示例中,我们首先创建了一个示例数据框df
,其中包含了姓名、城市、年龄和不同科目的分数。然后,我们使用groupby
函数按特定字符串开头的列进行分组,这里使用df.columns.str.startswith('Score_')
来选择以Score_
开头的列。接下来,我们使用apply
函数对每个分组进行操作,使用droplevel
函数删除多余的层级,并使用.T
转置结果。最后,我们打印出转置后的结果。
注意:在实际应用中,你需要根据你的数据集和需求来修改代码。这个示例代码可以作为一个起点,帮助你理解如何按特定字符串开头的列进行分组并转置。