Python spider показывает элементы строки фрейма данных при записи пустой строки в файл

#python #pandas #dataframe

#python #pandas #фрейм данных

Вопрос:

По сути, это основная часть кода, касающаяся проблемы:

 df1 = pandas.read_csv('~/Dropbox/data/anand/surface/scan/7/relaxed/dos/DOSCAR',skiprows=5, names=['energy','su' , 'sd','pu' ,'pd' ,'du' ,'dd' ],delimiter='s ',engine='python')

#Remove the two lines but I want to keep the 1st one only 
#it is why I change the value to 1 () instead of being 1!
df1.iat[0,1]=1
df=df1[df1.su != enmin ]
df=df1[df1.energy != enmin ]
df1=None
df.to_csv(r'~/df', header=None, index=None, sep=' ',mode='a')
df=df.reset_index(drop=True) 
  

а затем я просто получаю доступ к некоторым значениям df через df.iat[,]

На самом деле номер строки 6000 соответствует строке, которую я хотел сохранить и которая должна быть расположена в начале текста. Это похоже на неправильное расположение / инвертирование порядка.

Я пытался открыть его также с помощью vim, но с той же проблемой, и я уверен, что окно dataframe на python является правильным. Обратите внимание, что gedit и другие текстовые редакторы начинаются со строки с номером 1, а фрейм данных начинается с нуля.

введите описание изображения здесь

Ответ №1:

Ошибка возникла из-за того, что вторая операция удаления df не учитывает первую, поскольку вы снова переписываете совершенно новый фрейм данных из df1, а не из предыдущего df.