Python 从数据帧的特定行检索信息

Python 从数据帧的特定行检索信息,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,除了使用iterrows过滤必要的行外,还有没有更干净的方法从特定行(在我的例子中是从最后一行)检索信息 df = pd.DataFrame({'some_info_1': [11, 12, 13, 14], 'some_info_2': [21, 22, 23, 24], 'some_info_3': [31, 32, 33, 34]}) # retrieve the last row and app

除了使用iterrows过滤必要的行外,还有没有更干净的方法从特定行(在我的例子中是从最后一行)检索信息

df = pd.DataFrame({'some_info_1': [11, 12, 13, 14],
                   'some_info_2': [21, 22, 23, 24],
                   'some_info_3': [31, 32, 33, 34]})
    
    # retrieve the last row and apply itterrows
    for index, row in df.iloc[-1:].iterrows():
        # retrieve specific column values of the last row
        last_row_some_info_1 = row["some_info_1"]
        last_row_some_info_2 = row["some_info_2"]
        last_row_some_info_3 = row["some_info_3"]

        print(last_row_some_info_1)
        print(last_row_some_info_2)
        print(last_row_some_info_3)
输出:

14
24
34
3    14
Name: some_info_1, dtype: int64
如果我们需要多个列值,@adir abargil提供的解决方案似乎不是很有效,因为这意味着在这种情况下,我们必须多次检索同一行

此外,以下方法也不起作用,因为本例中的“test_行”将指向包含最后一行但不包含行本身的数据帧。 因此,输出将不相同:

test_row = df.iloc[-1:]
print(test_row["some_info_1"])
输出:

14
24
34
3    14
Name: some_info_1, dtype: int64
问候,

更新20201118:添加了样本输入和预期输出 更新20201120:添加了一个直接从df.iloc[-1:][/p>检索值的示例,您的意思是这样的吗

specific =df.iloc[-1]["col_name"] 
根据评论更新

如果要避免多次调用
df.iloc[-1]
只需将其另存为变量:

row = df.iloc[-1]
specific1 = row['col_1']
specific2 = row['col_2']

我也可以向你推荐这本优秀的读物-请发布一个带有预期输出的示例输入;如何在不多次搜索行的情况下检索多个值?如果我想用你的方法复制我在问题中给出的行为,它将是:
specific1=df.iloc[-1][“col_name1”]specific2=df.iloc[-1][“col_name2”]
;这似乎不太有效,因为在这种情况下,我们需要多次检索最后一行。不幸的是,它也不起作用,请查看问题中的最后一次更新。您发布的内容与我建议的内容略有不同。我建议
iloc[-1]
,您发布:
iloc[-1: