Python DataFrame:在其他列中具有相同值的特定值之前找到上一行的值

时间:2019-10-18 18:20:00

标签: python python-3.x pandas dataframe

我有如下数据名声

ServiceProvider

import pandas as pd
d = {
    'Name' : ['James', 'John', 'Peter', 'Thomas', 'Jacob', 'Andrew','John', 'Peter', 'Thomas', 'Jacob', 'Peter', 'Thomas'],
    'Order' : [1,1,1,1,1,1,2,2,2,2,3,3],
    'Place' : ['Paris', 'London', 'Rome','Paris', 'Venice', 'Rome', 'Paris', 'Paris', 'London', 'Paris', 'Milan', 'Milan']
}

df = pd.DataFrame(d)

数据框代表来访各个城市的人, Name Order Place 0 James 1 Paris 1 John 1 London 2 Peter 1 Rome 3 Thomas 1 Paris 4 Jacob 1 Venice 5 Andrew 1 Rome 6 John 2 Paris 7 Peter 2 Paris 8 Thomas 2 London 9 Jacob 2 Paris 10 Peter 3 Milan 11 Thomas 3 Milan [Finished in 0.7s] 列定义了访问顺序。

我想找到在Order之前去过哪些城市。 预期的数据帧如下

Paris

哪个是找到它的Python方法?

1 个答案:

答案 0 :(得分:5)

使用router.post('', middleware.checkToken, async function (req, res) { const { type: typeCode, . . .

router.get('/health', async (req, res) => {
  res.status(200).send({ message: 'Ready.' })
})

merge

s = df.loc[df.Place.eq('Paris'), ['Name', 'Order']]
m = s.assign(Order=s.Order.sub(1))