我一直在搜索,所以还没有想通了。希望有人能帮助这个python newb来解决我的问题。熊猫如果/然后聚合
我想弄清楚如何在python中编写一个if/then语句,并执行一个聚合关闭if/then语句。我的最终目标是说明日期= 2017年1月7日,然后使用“假”列中的值。如果日期=全部,则将两列平均。
这是我到目前为止有:
import pandas as pd
import numpy as np
import datetime
np.random.seed(42)
dte=pd.date_range(start=datetime.date(2017,1,1), end= datetime.date(2017,1,15))
fake=np.random.randint(15,100, size=15)
fake2=np.random.randint(300,1000,size=15)
so_df=pd.DataFrame({'date':dte,
'fake':fake,
'fake2':fake2})
so_df['avg']= so_df[['fake','fake2']].mean(axis=1)
so_df.head()
谢谢!这些都是超级有用的。如果我想要做1个以上的日期,即1/7,1/9和1/11,我可以简单地写成: 'so_df ['fake']。where((so_df ['date'] =='20170107 ')或(so_df ['date'] =='20170105')或(so_df ['date'] =='20170111'),so_df [['fake','fake2']]。mean(axis = 1) )' –
@ P.Cummings不幸的是,你不能使用'or'作为熊猫数据结构。您需要使用按位或('|')的元素重载版本。我在帖子中增加了几个例子。 – ayhan
谢谢。这非常有帮助! –