Итак, я имею дело с большим файлом данных, который содержит 1,3 миллиона строк.То, что я пытаюсь сделать, это просто, я хочу изменить значения в некоторых столбцах, учитывая некоторые условия.
for i in range(0,len(data2)): #where len(data2) is about 1.3 million
if data2.loc[i,'PPA']==0:
data1.loc[i,'LDU']=0 #(data1 and data2 have same amount of rows)
, и мне также нужно будет отформатировать для некоторых других столбцов.например, я хочу отформатировать пол как 0 или 1.
данные следующим образом:
data['Gender']
Out[156]:
0 F
1 M
2 F
3 F
..
1290573 M
1290574 F
Name: Gender, Length: 1290575, dtype: object
#Format to 0 and 1
for i in range(0,len(data)):
if data.loc[i,'Gender']=='F':
data.loc[i,'Gender']=0;
else:
data.loc[i,'Gender']=1
Кстати, относительно времени обработки, я заметил что-то необычное ... Я сохранил первый5000 строк в новый CSV-файл. Когда я проверял свой код на данных примера, он работал хорошо и быстро, примерно за 10 секунд.Но когда я пытаюсь запустить его на своих реальных данных и дать ему сделать
for i in range(0,10000) #instead of the full length of data
, это займет около 9 минут.
в последний раз я форматировал другой столбец, как этот (назначая 0 и 1) по моим полным данным занимает больше 10 часов в питоне.Так что мне просто интересно, есть ли что-то не так в моих кодах?Есть ли другой более эффективный способ, чтобы он мог читать и переписывать быстрее?...
Буду признателен за любую помощь!:)
Я немного новичок в python, и это мой первый пост с вопросом, спасибо всем за ваш комментарий:)