在Pandas数据框中平均某些值?

时间:2020-09-28 00:02:15

标签: python sql pandas

我在Python中有一个熊猫数据框,如下所示:

  Acct_Num  Acct_Bal             Acct_Type  Acct_Rate    Cust_ID  Emp_ID
0  13330001    2020.0  Check                     0.010  111223333  223333
1  17890006      50.0  Check                     0.010  224422444  223333
2  23330004    3550.0  Saving                    0.030  224422444  223333
3  23330007   11000.0  Saving                    0.035  111223333  223333
4  27890002     130.0  Saving                    0.030  987654321  456789
5  27890003     299.0  Saving                    0.035  123123123  456789
6  37890005   10999.0  Money                     0.040  111223333  456789
7  41230008  200323.0  Loan                      0.070  224422444  123123
8  41230009   21789.0  Loan                      0.075  224422444  123123
9  41230010    1000.0  Loan                      0.060  987654321  123123

我需要找到Acct_Type为“贷款”的平均Acct_Rate。我知道我可以使用df['Acct_Rate'].mean()找到整个列的平均值,但是我不知道如何仅对贷款帐户类型执行此操作。请帮忙,谢谢。如果您还可以向我展示如何用SQL术语做到这一点,那将很棒。干杯!

1 个答案:

答案 0 :(得分:1)

要过滤数据框,可以传入布尔索引。例如,要仅获取2020-10-10T02:00:00.0000000-10:00Acct_Type的行,可以写

Loan

扩展您的尝试,可以通过给定df[df.Acct_Type == 'Loan'] 来获得Acct_Rate的平均值,如下所示:

Acct_type == 'Loan'

在SQL中,它将采用以下形式

df[df.Acct_Type == 'Loan'].Acct_Rate.mean()