Как создавать переменные на основе имен столбцов в dataframe?

#python #pandas #dataframe #variables #jupyter

#python #pandas #dataframe #переменные #jupyter

Вопрос:

Я хотел создать переменные в python на основе имен столбцов моего dataframe. Не уверен, возможно ли это, поскольку я новичок в Python. Допустим, мой df выглядит так:

 ID  Date         Name    Counts
1   04/04/2018   JUOM    150
2   05/04/2018   1XMK    22
3   05/04/2018   N2IS    130
  

Как я мог бы создать одну переменную, в которой я мог бы ссылаться на столбцы даты и имени из этого фрейма данных?

Комментарии:

1. Вам не нужно, вы можете вызвать df['Date'] , df['Name'] и т.д.. почему существует необходимость присваивать их переменной, когда вы пишете подобный код, должно быть очевидно, что вы пытаетесь сделать

2. Однако, если вам буквально нужны имена столбцов, просто используйте df.columns .

3. Мой подход был таков: допустим, я хочу объявить x как имя, так и столбец даты, могу ли я просто сделать: X = df [‘Date’], df [‘Name’], хотя эти столбцы имеют разные типы данных?

Ответ №1:

Если вы хотите, чтобы переменная x присваивалась столбцам Date и Name , вы можете подмножество фрейма данных с помощью df[['col1','col2',...]] синтаксиса using. Внешние скобки являются операцией индексации объекта фрейма данных pandas, в то время как внутренние скобки создают список желаемых имен столбцов.

 x= df[['Date','Name']]
  

Который возвращает:

          Date  Name
0  04/04/2018  JUOM
1  05/04/2018  1XMK
2  05/04/2018  N2IS
  

Если вы не хотите иметь данные во фрейме данных, вы можете получить данные с .values свойством.

 x= df[['Date','Name']].values

array([['04/04/2018', 'JUOM'],
       ['05/04/2018', '1XMK'],
       ['05/04/2018', 'N2IS']], dtype=object)
  

Если вы используете pandas версии 0.24.0, они рекомендуют заменить .values на to_numpy() .

Ответ №2:

Вы можете сделать это:

 var1 = df.columns[0]
var2 = df.columns[1]
  

Результат:

var1 = ID

var2 = Дата