循环到日期并将函数应用于熊猫数据框

学霸

我试图检测事件发生时的第一个日期:在我的产品 A 数据框中(参见数据透视表),我在 2017 年 4 月 3 日第一次存储了 20 个项目。

所以我想创建一个新的变量 calle new_var_2017-04-03 来存储增量。另一方面,在第二天 2017-04-04 我不介意物品现在是 50 而不是 20,我只想存储第一个事件

它给了我几个错误,我想至少知道它背后的整个逻辑是否有意义,它是“pythonic”,还是我完全走错了路

raw_data = {'name': ['B','A','A','B'],'date' : pd.to_datetime(pd.Series(['2017-03-30','2017-03-31','2017-04-03','2017-04-04'])),
    'age': [10,20,50,30]}
df1 = pd.DataFrame(raw_data, columns = ['date','name','age'])


table=pd.pivot_table(df1,index=['name'],columns=['date'],values=['age'],aggfunc='sum')
table

我将日期传递给列表

dates=df1['date'].values.tolist()

我想在我的列表“日期”中做一个向后循环,并在发生事件时创建一个变量。伪代码: i-1 我的意思是列表中 i 之前的项目

def my_fun(x,list):
    for i in reversed(list):
        if (x[i]-x[i-1])>0 :
            x[new_var+i]=x[i]-x[i-1]
    else:
        x[new_var+i]=0
return x  

print (df.apply(lambda x: my_fun(x,dates), axis=1))

期望的输出:

raw_data2 = {'new_var': ['new_var_2017-03-30','new_var_2017-03-31','new_var_2017-04-03','new_var_2017-04-04'],'result_a': [np.nan,20,np.nan,np.nan],'result_b': [10,np.nan,np.nan,np.nan]}
df2= pd.DataFrame(raw_data2, columns = ['new_var','result_a','result_b'])

df2.T
斯科特·波士顿

让我们试试这个:

df1['age'] = df1.groupby('name')['age'].transform(lambda x: (x==x.min())*x)
df1.pivot_table(index='name', columns='date', values='age').replace(0,np.nan)


date  2017-03-30  2017-03-31  2017-04-03  2017-04-04
name                                                
A            NaN        20.0         NaN         NaN
B           10.0         NaN         NaN         NaN

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将函数应用于熊猫数据框

来自分类Dev

将re函数应用于混合的熊猫数据框

来自分类Dev

将函数应用于熊猫数据框以创建更大的数据框

来自分类Dev

有效地拆分熊猫数据框并将方法应用于子集

来自分类Dev

将函数应用于数据框

来自分类Dev

熊猫数据框应用于日期时间列:不起作用

来自分类Dev

如何将Lambda函数正确应用于熊猫数据框列

来自分类Dev

使用其他行中的值将函数应用于熊猫数据框行

来自分类Dev

将自定义累积函数应用于熊猫数据框

来自分类Dev

如何将自定义函数应用于熊猫数据框的2列?

来自分类Dev

熊猫-将函数应用于具有来自不同列的多个参数的数据框

来自分类Dev

如何在要应用于熊猫数据框的python函数中正确声明'NaT'?

来自分类Dev

编写函数以应用于查看问题行和上方行的熊猫数据框

来自分类Dev

将函数应用于循环和输出数据框中的列列表

来自分类Dev

熊猫-将UTM功能应用于数据框列

来自分类Dev

将类似功能应用于多级熊猫数据框

来自分类Dev

将str.contains()应用于熊猫数据框

来自分类Dev

在NaN中将条件COUNTIF应用于熊猫数据框

来自分类Dev

滚动Z得分应用于熊猫数据框

来自分类Dev

将功能应用于熊猫数据框的单列

来自分类Dev

将功能按行应用于熊猫数据框

来自分类Dev

将功能应用于熊猫数据框的列

来自分类Dev

熊猫数据框将功能应用于整个列

来自分类Dev

熊猫数据框将计算应用于选定的行

来自分类Dev

熊猫将multicolumnindex应用于数据框

来自分类Dev

熊猫数据框,如何将单个列分组并将总和应用于多列并添加新的总和列?

来自分类Dev

按列将函数应用于Pandas数据框

来自分类Dev

将函数应用于参数更改的数据框

来自分类Dev

将ifelse函数应用于列表上的数据框

Related 相关文章

  1. 1

    将函数应用于熊猫数据框

  2. 2

    将re函数应用于混合的熊猫数据框

  3. 3

    将函数应用于熊猫数据框以创建更大的数据框

  4. 4

    有效地拆分熊猫数据框并将方法应用于子集

  5. 5

    将函数应用于数据框

  6. 6

    熊猫数据框应用于日期时间列:不起作用

  7. 7

    如何将Lambda函数正确应用于熊猫数据框列

  8. 8

    使用其他行中的值将函数应用于熊猫数据框行

  9. 9

    将自定义累积函数应用于熊猫数据框

  10. 10

    如何将自定义函数应用于熊猫数据框的2列?

  11. 11

    熊猫-将函数应用于具有来自不同列的多个参数的数据框

  12. 12

    如何在要应用于熊猫数据框的python函数中正确声明'NaT'?

  13. 13

    编写函数以应用于查看问题行和上方行的熊猫数据框

  14. 14

    将函数应用于循环和输出数据框中的列列表

  15. 15

    熊猫-将UTM功能应用于数据框列

  16. 16

    将类似功能应用于多级熊猫数据框

  17. 17

    将str.contains()应用于熊猫数据框

  18. 18

    在NaN中将条件COUNTIF应用于熊猫数据框

  19. 19

    滚动Z得分应用于熊猫数据框

  20. 20

    将功能应用于熊猫数据框的单列

  21. 21

    将功能按行应用于熊猫数据框

  22. 22

    将功能应用于熊猫数据框的列

  23. 23

    熊猫数据框将功能应用于整个列

  24. 24

    熊猫数据框将计算应用于选定的行

  25. 25

    熊猫将multicolumnindex应用于数据框

  26. 26

    熊猫数据框,如何将单个列分组并将总和应用于多列并添加新的总和列?

  27. 27

    按列将函数应用于Pandas数据框

  28. 28

    将函数应用于参数更改的数据框

  29. 29

    将ifelse函数应用于列表上的数据框

热门标签

归档