问题描述
Range-v3 有 ranges::views::drop
和 import pandas as pd
import numpy as np
def merge_latest(df,col):
df_temp = df.dropna(subset=[col]).copy()
df_temp['Last_rpt'] = df_temp.groupby('Subject')['Rpt_date'].transform('max')
df_temp.drop(df_temp.loc[df_temp['Rpt_date'] != df_temp['Last_rpt']]
.index,inplace=True)
d = dict(zip(df_temp['Subject'],df_temp[c]))
return d
df_data = {'Subject':['L. Skywalker','L. Skywalker','H. Solo','L. Organa','D. Djarin','D. Djarin'],'Rpt_date':['12/1/2020','12/6/2020','1/11/2021','11/19/2020','12/15/2020','1/26/2021','11/20/2020','12/1/2020','12/19/2020','12/10/2020','12/12/2020','1/3/2021'],'score_1':[9,np.nan,7,4,6,10,np.nan],'score_2':[np.nan,8,5,10]}
df = pd.DataFrame(data=df_data)
df['Rpt_date'] = pd.to_datetime(df['Rpt_date'])
print(df)
fin_df = pd.DataFrame()
fin_df['Subject'] = df['Subject'].unique()
for c in ['score_1','score_2']:
merge_dict = merge_latest(df,c)
fin_df[c] = fin_df['Subject'].map(merge_dict)
print(fin_df)
用于从视图的前面或后面删除元素。
目前,我发现的最短方法是使用 ranges::views::drop_last
concat
范围/容器:
iota
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)