小编Nag*_*ran的帖子

更新数据帧ID失去日期列值

我正在尝试更新数据帧的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)

python pandas

2
推荐指数
1
解决办法
55
查看次数

如何在多列数据帧上应用累积计数

数据帧

    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)

python pandas

1
推荐指数
1
解决办法
60
查看次数

从列表创建任务 - Airflow

我有一个要求,我有一个列表列表,例如

[[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

1
推荐指数
1
解决办法
1687
查看次数