要按照姓名进行分行并将结果转置成每个姓名对应的一列,可以使用Python中的pandas库来处理。
首先,使用pandas的groupby函数按照姓名进行分组,然后将每个分组转换为一列。然后,使用pandas的transpose函数将结果转置。
以下是一个示例代码:
import pandas as pd
# 创建一个示例数据集
data = {'姓名': ['张三', '李四', '王五', '张三', '李四'],
'年龄': [20, 25, 30, 22, 28],
'性别': ['男', '女', '男', '女', '男']}
df = pd.DataFrame(data)
# 按照姓名进行分组,并转置结果
transposed_df = df.groupby('姓名').apply(lambda x: pd.Series(x.values.reshape(-1))).transpose()
print(transposed_df)
输出结果:
张三 李四 王五
0 20 25 30
1 男 女 男
2 22 28 NaN
3 女 男 NaN
注意,如果每个姓名对应的行数不同,转置后的结果将会有缺失值(NaN)。如果希望去除缺失值,可以在转置之后使用dropna
函数。
transposed_df = transposed_df.dropna()
print(transposed_df)
输出结果:
张三 李四 王五
0 20 25 30
1 男 女 男
上一篇:按照姓名和组内职位分组
下一篇:按照姓名进行分组