我正在尝试更新数据帧的ID相对于数据帧中日期列的缺失日期,
Date ID
0 2018-01-01 45.0-A
1 2018-01-02 45.0-A
5 2018-01-06 45.0-A
6 2018-01-07 45.0-A
12 2018-01-13 45.0-A
13 2018-01-14 45.0-A
period = 2
Run Code Online (Sandbox Code Playgroud)
如果数据帧有超过指定period (period =2 )的days missingID应该用额外的数字更新,我解决了这个时间差和循环数据帧,它需要更多的时间.有人可以建议我实现这一目标的最有效方法吗?
T_diff = data.Date.diff()
slic = [data.index[0]] + T_diff[T_diff.dt.days>period].index.tolist() + [data.index[-1]]
li = []
for i in range(len(slic)-1):
temp_df = data.loc[slic[i]:slic[i+1]].copy()
temp_df['ID'] = temp_df['ID'] + '_{}'.format(i)
li.append(temp_df)
pd.concat(li,axis=0)
Date ID
0 2018-01-01 45.0-A_0
1 2018-01-02 45.0-A_0
5 2018-01-06 45.0-A_1
6 2018-01-07 45.0-A_1
12 2018-01-13 45.0-A_2
13 2018-01-14 45.0-A_2
Run Code Online (Sandbox Code Playgroud) 数据帧
a b c
0 0 1 1
1 0 1 1
2 0 0 1
3 0 0 1
4 1 1 0
5 1 1 1
6 1 1 1
7 0 0 1
Run Code Online (Sandbox Code Playgroud)
我正在尝试cumcount在数据帧的多列上应用累积计数,我尝试通过对每列进行分组来应用累计计数.有没有简单的方法来实现预期的产出
我试过这段代码,但它没有用
li =[]
for column in df.columns:
li.append(df.groupby(column)[column].cumcount())
pd.concat(li,axis=1)
Run Code Online (Sandbox Code Playgroud)
预期产出
a b c
0 1 1 1
1 1 2 2
2 1 1 3
3 1 1 4
4 1 1 1
5 2 2 1
6 3 3 2 …Run Code Online (Sandbox Code Playgroud) 我有一个要求,我有一个列表列表,例如
[[a,b,c,d],[e,f,g,h],[i,j,k,l]]
Run Code Online (Sandbox Code Playgroud)
现在我想在 DAG 中创建任务,如下所示
a >> b >> c >> d
e >> f >> g >> h
i >> j >> k >> l
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏。
python list directed-acyclic-graphs airflow airflow-scheduler