【问题标题】:Average of specific rows and columns using loc[] in PandasPandas 中使用 loc[] 的特定行和列的平均值
【发布时间】:2020-09-21 04:18:33
【问题描述】:

在这里,我尝试使用 pandas 中的 .loc[] 从 df 数据帧中提取第 0 行到第 8 行和列“9/15/2020”到“9/18/2020”的平均值

[这是具有 8 行 9 列的 df 数据框][1]
[1]:https://i.stack.imgur.com/QgjBp.png

已尝试使用以下长语法:这很好
Average = df.loc[[0,1,2,3,4,5,6,7,8] ,['15-Sep -20','16-Sep-20','17-Sep-20','18-Sep-20']].mean(axis=1)

但是当使用以下较短的代码时,它会引发语法错误:
Average_compact= df.loc[[0:8] ,['15-Sep-20':'18-Sep-20'] ]).mean(axis=1)

输出: 文件“”,第 1 行

Average_compact= df.loc[[0:8] ,['15-Sep-20':'18-Sep-20']].mean(axis=1)
                          ^

SyntaxError: 无效语法

我哪里做错了?
另外,我如何选择整个可用行范围,即从 0 到最后一行而不提及结束行号

【问题讨论】:

    标签: pandas multiple-columns rows mean .loc


    【解决方案1】:

    您可以尝试使用 iloc 代替 loc:

    df[column_list].iloc[row_index_list].mean(axis=0)
    

    【讨论】:

    • 谢谢,但在这里我也需要手动输入整组列和行,因为数据集可能比这更大。所以我需要一个指定范围的语法。使用 loc[] 它不接受“:”作为范围
    • 但 iloc 接受 ":" ,尝试 [0, :] 全选..这也可能对您有所帮助:stackoverflow.com/questions/56311638/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    • 2023-02-08
    • 2018-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-10
    相关资源
    最近更新 更多