Выбор столбца в Pandas DataFrame
Вы можете выбрать столбец из Pandas DataFrame, используя точечную нотацию или скобки.
Синтаксис
#select column using dot operator a = myDataframe.column_name #select column using square brackets a = myDataframe[coulumn_name]
Выбор столбца возвращает Pandas Series.
Пример 1: с помощью оператора точки
В этом примере мы выберем столбец из предварительно инициализированного dataframe с помощью оператора точки.
import pandas as pd
#initialize dataframe
df = pd.DataFrame({'a': [57, 43, 85], 'b': [92, 30, 66]})
#select column
a = df.a
print('Selected Column\n---------------\n',a,sep='')
print('\n',type(a),sep='')
Вывод:
Selected Column --------------- 0 57 1 43 2 85 Name: a, dtype: int64 <class 'pandas.core.series.Series'>
Выбранный столбец относится к типу класса pandas.core.series.Series.
Пример 2: с помощью квадратных скобок
В этом примере мы выберем столбец из Pandas DataFrame, используя квадратные скобки [].
import pandas as pd
#initialize dataframe
df = pd.DataFrame({'a': [57, 43, 85], 'b': [92, 30, 66]})
#select column
a = df['a']
print('Selected Column\n---------------\n',a,sep='')
print('\n',type(a),sep='')
Вывод:
Selected Column --------------- 0 57 1 43 2 85 Name: a, dtype: int64 <class 'pandas.core.series.Series'>
Выбор столбца с использованием квадратных скобок предпочтительнее, потому что в некоторых скриптах, которые мы обсудим в следующих примерах, использование оператора точки не работает.
Пример 3: выбор столбца, в имени которого есть пробелы
В этом примере мы выберем столбец, имя которого совпадает с именем функции.
Использование оператора точки в этом сценарии возвращает столбец как метод.
import pandas as pd
#initialize dataframe
df = pd.DataFrame({'sum': [57, 43, 85], 'b': [92, 30, 66]})
#select column
a = df.sum
print('Selected Column\n---------------\n',a,sep='')
print('\n',type(a),sep='')
Вывод:
Selected Column --------------- <bound method DataFrame.sum of sum b 0 57 92 1 43 30 2 85 66> <class 'method'>
Использование квадратных скобок позволит выбрать столбец и вернуть серию.
import pandas as pd
#initialize dataframe
df = pd.DataFrame({'sum': [57, 43, 85], 'b': [92, 30, 66]})
#select column
a = df['sum']
print('Selected Column\n---------------\n',a,sep='')
print('\n',type(a),sep='')
Вывод:
Selected Column --------------- 0 57 1 43 2 85 Name: sum, dtype: int64 <class 'pandas.core.series.Series'>
Пример 4: выбор имени столбца с пробелами
В этом примере мы выберем столбец, имя которого совпадает с именем функции.
Использование оператора точки в этом сценарии вызывает ошибку SyntaxError.
import pandas as pd
#initialize dataframe
df = pd.DataFrame({'a': [57, 43, 85], 'b': [92, 30, 66], 'sum a b': [149, 73, 151]})
#select column
a = df.sum a b
print('Selected Column\n---------------\n',a,sep='')
print('\n',type(a),sep='')
Вывод:
File "example1.py", line 7
a = df.sum a b
^
SyntaxError: invalid syntax
Использование квадратных скобок выберет столбец с пробелами и вернет Series.
import pandas as pd
#initialize dataframe
df = pd.DataFrame({'a': [57, 43, 85], 'b': [92, 30, 66], 'sum a b': [149, 73, 151]})
#select column
a = df['sum a b']
print('Selected Column\n---------------\n',a,sep='')
print('\n',type(a),sep='')
Вывод:
Selected Column --------------- 0 149 1 73 2 151 Name: sum a b, dtype: int64 <class 'pandas.core.series.Series'>
В этом руководстве примеров Python мы узнали, как выбрать столбец в Pandas DataFrame с помощью примеров.
Автор