【发布时间】:2019-02-04 12:45:04
【问题描述】:
我有一个类似 csv 的文件
id,value
1,100
1,150
1,200
1,250
2,300
2,350
2,400
2,450
我想根据每个唯一 id 的值生成一列。
例如:
- id 1 的前 2 行的值为 100, 150
- 我正在尝试创建列
raise,它将像这样划分值 - 100/100 = 1,因此在 raise 列中的第一行将有 1
- 150/100 = 1.5 所以第二行 in raise 列将有 2
- id 2 相同
- 250/250 = 1 和 300/250 = 1.166
我取了 100,因为它是
id的第一个值,与第二个“id”相同 例如:
id,value
1,150
1,100
1,200
1,250
如果是这样,那么输出应该是
id,value,raise
1,150,150/150
1,100,100/150
1,200,200/150
1,250,250/150
所以最后我的输出会是这样的
id value raise
0 1 100 1.000
1 1 150 1.500
2 1 200 2.000
3 1 250 2.500
4 2 300 1.000
5 2 350 1.166
6 2 400 1.333
7 2 450 1.500
我不知道如何创建它,除非使用 for 循环遍历所有 id。
并非所有值都具有相同的间隔,这只是一个示例
【问题讨论】:
标签: python python-3.x pandas dataframe