Я поставил клинические данные, и я должен заменитьЗаменить категориальные значения в CSV-файл с двоичными значениями
- 1-го значения в столбце «покойный» с 1, если значение «Date»> 365 еще заменить 0 (ноль),
- значение 'живой' с одним, если 'Day_to_follow_up'> 365
в дополнение мне нужно назначить возраст
- 0-25 в бункер 0
- 25-50 в бункер 1,
- 50-75 в бункер 2
- выше 75 в бункер 4.
Вот мой код.
import csv
import pandas as pd
with open('combined_file', 'rb') as f,open('newFile', 'wb') as out:
reader = csv.reader(f)
writer = csv.writer(out)
for row in reader:
#print "AABB"
if 'DECEASED' in row[1]:
if row[10]>365:
row[1]=1
writer.writerow(row)
elif row[10]<365:
row[1]=0
writer.writerow(row)
if 'LIVING' in row[1]:
if row[11]>365:
row[1]=1
writer.writerow(row)
ввода образца
sample id , status , age ,gender ,date ,days_to_last_followup
0 , Deceased , 42 , M , 326 , 149
1 , Deceased , 56 , F , 500 , 30
2 , living , 43 ,M , 25 , 150
выход образец
sample id , status , age ,gender,date ,days_to_last_followup
0 , 0 , 1 , M ,326 , 149
1 , 1 , 2 , F ,500 , 30
2 , 0 , 1 ,M , 25 , 150
Вы импортировали панды. Drop 'import csv' и используйте' df = pd.read_csv ("input.csv"); ...; pdf.to_csv ("out.csv") '. – ysdx