如何用Pandas生成符合指定参数与格式的目标表格?
解决方案
你的代码报错核心原因是pd.DataFrame()不存在rows参数,且逻辑未匹配需求。以下是符合要求的实现方案:
1. 导入依赖
import pandas as pd
2. 定义参数
# 设置年份范围 initial_year = 2020 last_year = 2030 # 组合所有列名 first_two_cols = ['Wages', 'Payment'] additional_cols = ['column1', 'column2', 'column3', 'column4'] all_columns = first_two_cols + additional_cols
3. 创建目标表格
方式1:年份作为行索引
若需将2020-2029(range为左闭右开,若要包含2030则改为range(initial_year, last_year+1))设为行索引:
# 初始化空表格并指定列名、索引 df = pd.DataFrame(index=range(initial_year, last_year), columns=all_columns) # 可填充默认值(示例用0) df = df.fillna(0)
方式2:年份作为独立列
若需将年份设为第一列:
# 生成年份列 year_series = pd.Series(range(initial_year, last_year), name='Year') # 初始化空表格并合并年份列 df = pd.DataFrame(columns=all_columns) df = pd.concat([year_series, df], axis=1) # 填充默认值(示例用0) df = df.fillna(0)
生成的表格示例(方式2)
| Year | Wages | Payment | column1 | column2 | column3 | column4 |
|---|---|---|---|---|---|---|
| 2020 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2021 | 0 | 0 | 0 | 0 | 0 | 0 |
| ... | ... | ... | ... | ... | ... | ... |
| 2029 | 0 | 0 | 0 | 0 | 0 | 0 |
提示:如果需要包含2030年,只需把
range(initial_year, last_year)修改为range(initial_year, last_year + 1)即可。
内容的提问来源于stack exchange,提问作者silent_hunter
相关产品推荐
相关产品推荐

