Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. df['Name']='abc'
добавит новый столбец и установит все строки в это значение:
In [79]:
df
Out[79]:
Date, Open, High, Low, Close
0 01-01-2015, 565, 600, 400, 450
In [80]:
df['Name'] = 'abc'
df
Out[80]:
Date, Open, High, Low, Close Name
0 01-01-2015, 565, 600, 400, 450 abc
Подводя итог тому, что предложили другие, и добавив третий способ
Вы можете:
df.assign(Name='abc')
df['Name'] = 'abc'
df.insert(0, 'Name', 'abc')
, где аргумент loc (0 & lt; = loc & lt; = len (columns)) позволяет вам вставить нужный столбец. «loc» дает вам индекс, по которому ваш столбец будет на после вставки. Например, приведенный выше код вставляет имя столбца в качестве 0-го столбца, то есть он будет вставлен перед в первый столбец, становясь новым первым столбцом. (Индексация начинается с 0). Все эти методы также позволяют добавить новый столбец из серии (просто замените приведенный выше аргумент «abc» по умолчанию).
Вы можете использовать insert
, чтобы указать, где вы хотите использовать новый столбец. В этом случае я использую 0
, чтобы поместить новый столбец слева.
df.insert(0, 'Name', 'abc')
Name Date Open High Low Close
0 abc 01-01-2015 565 600 400 450
Работа с одним лайнером
df['Name'] = 'abc'
Создает столбец Name
и устанавливает все строки в значение abc
df['Name'] = 'abc'
, относительно других операций. – Bill 21 February 2018 в 08:06