| PATIENT_ID | 病理學 |
|---|---|
| 12 | 無效的 |
| 12 | 無效的 |
| 3 | 悲愴1 |
| 3 | 無效的 |
| 5 | 悲愴2 |
| 2 | 悲愴1 |
| 12 | 無效的 |
如果您可以看到,患者 ID 12 始終為空,但其他人可以為空,或者如果相同的 ID 始終為空,則有病態,我想將其與所有列中的相關行一起洗掉 注意:我有 200 萬個 ID,所以我想要用于搜索 ID 的代碼(Python、CSV)
uj5u.com熱心網友回復:
要洗掉只有變數的所有患者,"null"您可以使用以下示例:
import csv
from itertools import groupby
with open("input.csv", "r") as f_in:
reader = csv.reader(f_in)
next(reader) # skip header
out = []
for id_, g in groupby(sorted(reader), lambda k: k[0]):
g = list(g)
if all(pathology == "null" for _, pathology in g):
continue
out.extend(g)
with open("output.csv", "w") as f_out:
writer = csv.writer(f_out)
writer.writerow(["PATIENT_ID", "PATHOLOGIES"])
writer.writerows(out)
這將創建output.csv:
| PATIENT_ID | 病理學 |
|---|---|
| 2 | 悲愴1 |
| 3 | 無效的 |
| 3 | 悲愴1 |
| 5 | 悲愴2 |
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/481839.html
