Ответ 1
Я думаю, что способ по умолчанию - использовать:
df1 = pandas.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'a', 'b'],
'dat a1': range(7)})
df1['dat a1']
Другие методы, такие как раскрытие его как атрибута, более удобны.
Если я импортирую или создаю столбец pandas, который не содержит пробелов, я могу получить к нему доступ как таковой:
df1 = DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'a', 'b'],
'data1': range(7)})
df1.data1
который вернет мне эту серию. Если, однако, этот столбец имеет пробел в своем имени, он недоступен с помощью этого метода:
df2 = DataFrame({'key': ['a','b','d'],
'data 2': range(3)})
df2.data 2 # <--- not the droid i'm looking for.
Я знаю, что могу получить доступ к нему с помощью .xs():
df2.xs('data 2', axis=1)
Должен быть другой способ. Я искал его, как сумасшедший, и не могу думать о другом способе его рекламы. Я прочитал все 96 записей здесь на SO, которые содержат "столбец" и "строка" и "pandas", и не могли найти никакого предыдущего ответа. Это единственный способ, или есть что-то лучше?
Спасибо!
Я думаю, что способ по умолчанию - использовать:
df1 = pandas.DataFrame({'key': ['b', 'b', 'a', 'c', 'a', 'a', 'b'],
'dat a1': range(7)})
df1['dat a1']
Другие методы, такие как раскрытие его как атрибута, более удобны.
Старый пост, но может быть интересным: идея (которая является разрушительной, но делает работу, если вы хотите ее быстро и грязно) заключается в переименовании столбцов с помощью подчеркивания:
df1.columns = [c.replace(' ', '_') for c in df1.columns]