在python中,如何创建两个彼此迭代的列?

熊猫公司

问题转化为这个我有一个简单的数据框,让我们称之为df

id  k   t
2A  1   100
2A  2   100
2A  NaN 100
4C  3   80
4C  4   80
4C  1   80
3B  NaN 120
3B  7   120
3B  4   120

我想创建一个称为t和t1的新列。t1基于t和k以及id。在这种情况下,我只有3个Id的2A,4C和3B。最终的输出将是。

id  k   t   t1
2A  1   100 99
2A  2   99  97
2A  NaN 97  97
4C  3   80  77
4C  4   77  73
4C  1   73  72
3B  NaN 120 120
3B  7   120 113
3B  4   113 109

因此,想法如下

在此处输入图片说明

其中t1只是

df['t1']=df['t']-df['k']

最后一个df中t上的值的转换是我不知道该怎么做的,因为每个id的第一个值必须基于原始值df["t"],但随后是df [t1],如图所示。

贝尼

让我们试着cumsumgroupby

df['t1'] = df.t-df.fillna(0).groupby('id').k.cumsum()
df['t'] = df['t1'] + df['k'].fillna(0)
df
Out[85]: 
   id    k      t     t1
0  2A  1.0  100.0   99.0
1  2A  2.0   99.0   97.0
2  2A  NaN   97.0   97.0
3  4C  3.0   80.0   77.0
4  4C  4.0   77.0   73.0
5  4C  1.0   73.0   72.0
6  3B  NaN  120.0  120.0
7  3B  7.0  120.0  113.0
8  3B  4.0  113.0  109.0

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Python中扩展/连接两个迭代器

如何在python tkinter中使两个按钮彼此相邻(并居中)?

如何在Python中.write()两个项目,一个零和一个迭代器?

如何定义Xamarin.Forms中彼此更新的两个可绑定属性?

如何在Flink中连接两个非密钥流并彼此共享状态?

如何使用两个指针迭代Rust中的链表?

如何创建彼此相邻的两个实体的层列表?

通过迭代返回Python中两个元素的元组的函数来创建两个字典

在Python中迭代两个列表

如何在mariadb中创建由其他两个列串联而成的列?

如何在bash脚本中迭代两个变量?

如何在材料UI中的文本字段中使两个输入装饰彼此相邻

如何在python中迭代比较两个列表?

在python中如何让两个文件迭代器以不同的速率遍历行?

如果在Python中元组包含彼此相邻的两个“ 1”,如何从列表中删除元组?

如何获得两个(伪)随机但彼此不同的容器迭代器/元素?

如何在PDF中创建两个文本列?

在Python(Pandas / Numpy)中。如何创建两个独立系列的最大值/最小值的列?

如何在iText中彼此相邻显示两个PDFTable

比较两个文件中的列并创建新列

如何在sh脚本中迭代两个变量?

如何在excel中输出彼此相邻的两个单元格的值?

在python中交替迭代两个列表

如何同时迭代 Java 中的两个列表?

如何让两个引导列彼此相邻

如何为两个 for 循环创建两列

如何创建两个使用和更改彼此值的字段?

如何在php中的两个日期之间迭代?

让两个网格列彼此相邻