Python 在Pandas中获取一个键错误

Python 在Pandas中获取一个键错误,python,pandas,Python,Pandas,我尝试从不同的模块调用函数,如下所示: module1 - func1: returns a dataframe module1 - func2(p_df_in_fromfunc1) 职能2: 用于范围内的i(0,len(p_df_in_fromfunc1): #尝试检索单个列的行值并分配给变量 v_tmp=p_df_in_fromfunc1.loc[i,“Col1”] 当尝试运行上述代码时,我得到错误: 关键错误0 问题可能是因为我没有零编号的行吗?在不知道您的代码的情况下,我的猜测是,

我尝试从不同的模块调用函数,如下所示:

module1 - func1: returns a dataframe

module1 - func2(p_df_in_fromfunc1)
职能2:

用于范围内的i(0,len(p_df_in_fromfunc1):
#尝试检索单个列的行值并分配给变量
v_tmp=p_df_in_fromfunc1.loc[i,“Col1”]
当尝试运行上述代码时,我得到错误:

关键错误0


问题可能是因为我没有零编号的行吗?

在不知道您的代码的情况下,我的猜测是,对于位置索引,如果您对索引感兴趣,请尝试使用iloc而不是loc。 比如:

v_tmp = p_df_in_fromfunc1.iloc[i,"Col1"]

要检索特定列的行,请执行以下操作:

columns=['Col1','Col2']
df[columns].iloc[index]
如果只需要一列,可以将其简化为:
df['Col1'].iloc(index)


根据您的评论,您不需要重置索引,您可以迭代索引数组的值:
df.index

您可能错过了在Col1之后关闭loc函数中的报价

v_tmp = p_df_in_fromfunc1.loc[i,"Col1"]

我编辑了你的文章,包括你的代码片段,这是无效的python。请检查它。这是否回答了你的问题?我认为这主要是由于你对dataframe的索引。你的数据是否用原始增量行号索引?如果是,你是否对数据进行过任何筛选(可能是func1)因此,第I个位置在df中不存在。@null-是的,我发现了问题。我的索引没有零,因为我已经创建了原始数据帧的子集,现在用于计算。如何解决问题?我找到了问题并修复了它(重置索引)per null的建议。当我们必须获取数据帧的子集并将其传递给函数以执行计算时,它们是更好的解决方案吗?我想要多个列,而不仅仅是一个。上面只是一个示例。请注意,列是一个数组,您可以有多个列的标签。更新了答案以使其更清晰