我有一个包含1000个模拟的数据框,我想定义一个允许我按名称选择一列的函数
数据框如下所示:
SIMULATION Sim_1 Sim_2 Sim_3 Sim_4 Sim_5 Sim_6
2016 0.013765 0.012882 0.006664 0.019607 0.010095 0.020073
2017 0.016176 0.014744 0.009644 0.022152 0.013778 0.018454
2018 0.018562 0.016773 0.014824 0.020529 0.018414 0.012878
2019 0.027624 0.009368 0.016195 0.022941 0.025510 0.002396
2020 0.037297 -0.000171 0.019798 0.021232 0.028369 0.001007
2021 0.040634 -0.002396 0.024508 0.018794 0.027421 0.007584
要选择一列,可以输入
df.Sim_1
这会给我第一列
是否有可能定义一个函数?我试过了
def select(data, sim_nr):
sim = data.sim_nr()
return(sim)
但是将此函数应用于数据集会给我一个错误
select(f("I:/tools/python/ESG/yield_RN_FY15_mitVA_BC.FAC",20), "Sim_1")
有什么想法吗?
答案 0 :(得分:3)
您需要[]
来选择列:
def select(data, sim_nr):
sim = data[sim_nr]
return(sim)
答案 1 :(得分:1)
使用方括号选择,您甚至不需要功能:
df['Sim_1']