我有这个excel公式:
=IF(L2="","",IF(COUNTIF($L$1:L2,L2)=1,"1YR",IF(COUNTIF($L$1:L2,L2)=2,"3YR","5YR")))
正在用熊猫翻译成软件。这countif是一个棘手的问题,因为如果当前单元格中的值出现在当前单元格中,则只需要检查和计数当前单元格上方的前一个单元格。
目前的解决方案:
df['year'] = np.where(df['company_id'] is None, None,
np.where(pd.cut(df['company_id'], df.loc[df['company_id']].index[0]).count() == 1, '1YR',
np.where(pd.cut(df.company_id, df.loc[df['company_id']].index[0]).count() == 2, '3YR', '5YR')))
所需的输出:
company_id year
48299 1YR
48752 1YR
48865 1YR
48299 3YR
49503 1YR
48299 5YR
49697 1YR
50267 1YR
50714 1YR
50714 3YR
51050 1YR
使用pandas.cut函数,但我认为这不是解决此问题的正确方法。任何朝着正确方向的帮助将不胜感激。
慕斯王
相关分类