【发布时间】:2018-10-03 07:20:39
【问题描述】:
我正在使用 2 个不同的数据帧(一般和最后一个),它们是这样的:
general=pandas.DataFrame(columns=["code","grade","year","quarter","subject"],data=[[01,4.5,2011,1,1],[01,5.0,2012,2,1],[23,5.0,2013,1,2],[01,7.5,2011,1,2])
last=pandas.DataFrame(columns=["code","grade","subject"],data=[[01,5.0,1],[01,7.5,2],[23,5.0,2])
我想在“last”中添加一个名为“attempts”的列,在该列中我得到一个学生通过该科目的尝试次数。(基本上,添加一个列,其中包含满足某些条件的行数)。 我试过用这个:
last["ATTEMPTS"]=None
for ind in general.index:
st=general.loc[ind]["code"]
subject=general.loc[ind]["subject"]
fil1=grades["code"]==st
fil2=grades["subject"]==subject
attempts=len(general[fil1&fil2])
last.at[ind, "ATTEMPTS"] = attempts
但这需要很长时间...有更简单的想法吗?谢谢!
【问题讨论】:
-
谢谢@jpp,我已经更新了我的问题!希望你现在能明白!
标签: python pandas dataframe merge pandas-groupby