给出:AB
或A
(名称),start
和end
日期,如何找到给定熊猫数据框(df)中的平均大小? / p>
示例:从startdate
:2009-10-04到enddate
:2009-10-06给出“ A”,结果为19.64。
Idx Unnamed: 0 Date Size
0 AB 2009-10-02 20.03
1 AB 2009-10-03 19.05
2 AB 2009-10-04 18.89
3 AB 2009-10-05 18.81
4 AB 2009-10-06 19.43
5 A 2009-10-02 19.36
6 A 2009-10-03 19.67
7 A 2009-10-04 19.59
8 A 2009-10-05 19.74
9 A 2009-10-06 19.61
答案 0 :(得分:2)
我们可以使用.loc
df.loc[df['Unnamed0'].eq('A')&df.Date.between('2009-10-04','2009-10-06'),'Size'].mean()
Out[491]: 19.646666666666665
答案 1 :(得分:2)
IIUC,这应该对您有用(尽管WeNYoBen的回答很优雅)
df['Date'] = pd.to_datetime(df['Date'])
m = (df['Date'] >= '2009-10-04') & (df['Date'] <= '2009-10-06')
name = df['Unnamed:0']=='A'
df[(m)&(name)].groupby('Unnamed:0')['Size'].mean()
输出
A 19.646667
您可以将掩码'name'的值更改为所需的名称。