我试图从一些数据中理解,这里是 Pandas 数据框:
In [1]: import pandas as pd
In [2]: df = pd.read_csv('c1.csv')
In [3]: df.head(2)
Out[3]:
year city country avg_temp
0 1849 Abidjan Côte D'Ivoire 25.58
1 1850 Abidjan Côte D'Ivoire 25.52
我只想知道年份是否大于 2000 且 avg_temp小于 20,那么 mean() 是什么,我得到 2 个不同的答案:
In [10]: (df.query('year > 2000')['avg_temp'] < 20).mean()
Out[10]: 0.5629877369007804
In [11]: ((df.year > 2000) & (df.avg_temp < 20)).mean()
Out[11]: 0.03540828203222504
In [12]: ((df['year'] > 2000) & (df['avg_temp'] < 20)).mean()
Out[12]: 0.03540828203222504
我不知道哪个是正确的