使用 pivot_table
函数将同日期的数据移动为一行,并将类别 A
和 B
的值的列名重命名为对应的名字,如下所示:
import pandas as pd
# 创建示例 DataFrame
df = pd.DataFrame({
'date': ['2023-06-01', '2023-06-01', '2023-06-02', '2023-06-02'],
'category': ['A', 'B', 'A', 'B'],
'value1': [1, 2, 3, 4],
'value2': [6, 8, 9, 7]
})
# 使用 pivot_table 函数将同日期的数据移动为一行,并将类别 A 和 B 的值的列名重命名为对应的名字
df_pivoted = pd.pivot_table(df, values=['value1', 'value2'], index='date', columns='category', aggfunc='first')
df_pivoted.columns = df_pivoted.columns.map('{0[0]}_{0[1]}'.format)
# 重置索引,以便日期列变为 DataFrame 的一般列。
df_pivoted = df_pivoted.reset_index()
# 输出结果
print(df_pivoted)
输出结果:
date value1_A value1_B value2_A value2_B
0 2023-06-01 1 2 6 8
1 2023-06-02 3 4 9 7