建设产品网站课程,个人网站模板响应式,wordpress 当前页面登录,莱芜可信赖的网络推广公司你可以使用 Pandas 的 pivot_table() 或 groupby() 方法#xff0c;将多条记录整合成一条#xff0c;并通过 year 和 month 这两个字段生成新的字段名。具体的实现方法是通过 pivot_table() 将 year 和 month 作为列标签#xff0c;将其他列中的数据进行整合。
假设你的数据…你可以使用 Pandas 的 pivot_table() 或 groupby() 方法将多条记录整合成一条并通过 year 和 month 这两个字段生成新的字段名。具体的实现方法是通过 pivot_table() 将 year 和 month 作为列标签将其他列中的数据进行整合。
假设你的数据框 df 的结构如下
import pandas as pddata {id: [1, 1, 1, 2, 2],year: [2023, 2023, 2024, 2023, 2024],month: [1, 2, 1, 1, 1],value: [10, 20, 30, 40, 50]
}df pd.DataFrame(data)
print(df)输出的原始数据 id year month value
0 1 2023 1 10
1 1 2023 2 20
2 1 2024 1 30
3 2 2023 1 40
4 2 2024 1 50目标
将 year 和 month 组成新的字段名并将 value 的值填入这些新列。
实现
创建 year_month 字段将 year 和 month 组合成一个新的列名。使用 pivot_table 将数据透视将 id 作为索引将 year_month 作为列value 作为要填充的数据。
# 1. 创建新的列名 year_month
df[year_month] df[year].astype(str) _ df[month].astype(str)# 2. 使用 pivot_table 将数据透视
df_pivot df.pivot_table(indexid, columnsyear_month, valuesvalue, aggfuncfirst).reset_index()# 3. 填充数据避免空值
df_pivot.fillna(0, inplaceTrue)# 查看结果
print(df_pivot)输出结果
year_month id 2023_1 2023_2 2024_1
0 1 10.0 20.0 30.0
1 2 40.0 0.0 50.0解释
创建 year_month 列将 year 和 month 列的值拼接成一个新的列如 2023_1, 2023_2。数据透视使用 pivot_table() 将 id 作为索引并将 year_month 作为新的列名value 作为列值。空值处理透视后的表格中可能会有空值例如某些 id 下没有某个 year_month使用 fillna(0) 将其填充为 0。
这样你就能将原本多条记录整合成一条并将 year 和 month 字段组成新的字段名。