Pandas表格合并与字符串拼接问题求助:生成目标DataFrame
问题描述
我尝试将两个表格合并为一个目标DataFrame:
- 首先创建包含2000-2005年共6条记录的DataFrame:
time_horizon = pd.DataFrame(range(2000, 2005+1)) - 尝试将字符串'WT'与
time_horizon拼接,但该步骤执行失败; - 后续还需添加包含1-6数值的DataFrame:
values = pd.DataFrame(range(1,7))
最终需要生成如图所示的DataFrame,现因拼接步骤受阻,请求解决方法。
解决方法
直接拼接字符串和DataFrame会因类型不兼容报错,正确步骤如下:
确保导入pandas库:
import pandas as pd给初始DataFrame指定列名(方便后续操作):
time_horizon = pd.DataFrame(range(2000, 2005+1), columns=['year']) values = pd.DataFrame(range(1,7), columns=['value'])给
time_horizon添加固定值为'WT'的列:time_horizon['code'] = 'WT'横向合并两个DataFrame:
target_df = pd.concat([time_horizon, values], axis=1)
如果需要调整列的顺序,比如把'code'列放在最前面,可以用reindex:
target_df = target_df.reindex(columns=['code', 'year', 'value'])
执行后就能得到包含三列的目标DataFrame,其中code列全为'WT',year列是2000-2005,value列是1-6。
内容的提问来源于stack exchange,提问作者silent_hunter
相关产品推荐
相关产品推荐

