Это самый неловкий ответ, который мне приходилось публиковать на свой вопрос, и хотя я как бы хотел, чтобы SO позволил мне удалить все это (не будет теперь, когда другие ответили), другую частья рад, что это заставляет меня а) испытывать стыд и б) публиковать ответ, который, на мой взгляд, полезен для написания чистого кода.
В своем вопросе я использовал поддельную переменную df
, чтобы придерживаться стандарта и скрывать имена, которые я использовал.Итак, мой вопрос выглядел так:
languages = ['java', 'python', 'c++', 'c#']
df = pd.DataFrame(index= languages, columns = ['count'])
df['count'] = df['count'].fillna(0)
for language in languages:
df.loc[language, 'count'] = ctr[language]
Но то, что на самом деле происходило в моей записной книжке, выглядело так:
languages = ['java', 'python', 'c++', 'c#']
jobs_count_df = pd.DataFrame(index= languages, columns = ['count'])
jobs_count_df['count'] = jobs_count_df['count'].fillna(0)
for language in languages:
jobs_df.loc[language, 'count'] = 1
Теперь, когда солнце вышло, и я не борюсь со сном,Нетрудно понять, в чем проблема.Но в затуманенном вечернем сеансе (не редкая среда для кодирования) я упустил из виду, что перебираю другую, но тупо , с аналогичным именем переменную .Я чувствую, что обычно, особенно среди таких, как я, которые не слишком опытны, пишут неаккуратные имена переменных (df
, df2
и т. Д.), Которые почти просят подобных ошибок.Я усвоил свой урок трудным путем (то есть, смутив себя).
Спасибо тем, кто написал ответы.Вы проголосовали за борьбу с моим идиотизмом.