У меня огромный Pandas DataFrame, который мне нужно записать в формат, который может понять RankLib. Пример с мишенью, запрос ID и 3 особенности это:Пользовательский формат файла Pandas
5 qid:4 1:12 2:0.6 3:13
1 qid:4 1:8 2:0.4 3:11
Я написал свою собственную функцию, что итерация по рядам и записывает их, как это:
data_file = open(filename, 'w')
for index, row in data.iterrows():
line = str(row['score'])
line += ' qid:'+str(row['srch_id'])
counter = 0
for feature in feature_columns:
counter += 1
line += ' '+str(counter)+':'+str(row[feature])
data_file.write(line+'\n')
data_file.close()
Поскольку я о 200 функций и 5 м строк это, очевидно, очень медленно. Есть ли лучший подход с использованием ввода-вывода самих Pandas?
Вы можете просто добавить желаемый результат в новый столбец, а затем записать только этот столбец из – EdChum
Это является хорошим решением, однако, что не будет вписываться в моей памяти больше ... –
что 'counter' в ваш код? – MaxU