假设我有一个如下所示的 csv
+-----+-----------+---------+
| ID | state | city |
+-----+-----------+---------+
| 101 | READY | |
| 101 | DELIVERED | NEWYORK |
| 101 | DELIVERED | LONDON |
| 102 | READY | |
| 102 | DELIVERED | LONDON |
| 103 | READY | |
| 103 | DELIVERED | NEWYORK |
| 104 | READY | |
| 104 | DELIVERED | TOKYO |
| 104 | DELIVERED | PARIS |
| 105 | DELIVERED | NEWYORK |
+-----+-----------+---------+
现在我想要带有 State 的 ID,READY它有DELIVEREDas NEWYORK。
相同的 ID 会在不同的州和城市出现多次。
总是READYcity为空
cityDELIVERED总是有一些值。
city所以首先我想检查DELIVERED列的值state。如果是 NEWYORK,则取该 ID 的 READY 行。如果没有对应READY的行,那么我们可以忽略(本例中的 ID 105)
预期产出
+-----+-----------+---------+
| ID | state | city |
+-----+-----------+---------+
| 101 | READY | |
| 103 | READY | |
+-----+-----------+---------+
我试过在熊猫中使用自我加入。但是我不知道如何继续,因为我是 python 的新手。目前我正在用 SQL 做这件事。
import pandas as pd
mydata = pd.read_csv('C:/Mypython/Newyork',encoding = "ISO-8859-1")
NY = pd.merge(mydata,mydata,left_on='ID',right_on='ID',how='inner')
拉风的咖菲猫
慕工程0101907
相关分类