Фрейм и серия данных Pandas

#python #pandas #jupyter-notebook

#python #pandas #jupyter-ноутбук

Вопрос:

Фрейм данных pandas состоит из 30 строк после чтения файла Excel. Он фильтрует до одной строки (это всегда будет одна строка после фильтра), как я могу сохранить фрейм данных в качестве фрейма данных. После фильтрации (удаления строк) он преобразует фрейм данных в серию.

Файл Excel ppfileloc содержит 30 строк за апрель месяц, и для выбранной даты это всегда будет одна запись во фрейме данных. Результирующий фрейм данных преобразуется в серию.

 #Following is the code and output in jupyter. 

df = pd.read_excel(ppfileloc)
df.set_index('Date',inplace=True)
date = 15
df1 = df.loc[date,:]
df2 = pd.DataFrame(df1)
df3 = df2.drop(labels=['Day', 'Sunrise', 'Sunset   ', 'SidTime    '])

df3.shape
# (8, 1)

#df3 command fetches the following as output
df3  

#         15
# Sun       000:37:56
# Moon      119:42:25
# Mars      045:36:33
# Mercury   333:14:41
# Jupiter   240:11:57
# Venus     329:01:24
# Saturn    266:12:49
# Rahu      087:52:24
  

Как я могу преобразовать df3 в два столбца с планетами и градусами в качестве заголовков столбцов?

Ответ №1:

Если вы хотите преобразовать Series в DataFrame , вы можете просто сделать series.to_frame() . Это принимает name аргумент, указывающий, как назвать отдельный столбец фрейма данных. При этом индекс останется как индекс. Поскольку вместо этого вы хотите использовать его в виде столбца, вам также нужно сбросить индекс, а затем переименовать его по своему усмотрению.

 df3.to_frame(name="degrees").reset_index().rename(columns={"index": "planet"})
  

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

1. Спасибо @ Nathan, мне не обязательно использовать df3. Вместо этого я удалил метки в df1 и преобразовал в df2 в виде фрейма данных с именами столбцов и индексом. df2 выдает желаемый результат. импортируйте pandas как pd ppfileloc = (r»C:UsersAominedjangoprojectdjangoprojectFilestextppapr2019.xlsx «) df = pd.read_excel(ppfileloc) df.set_index(‘Date’,inplace= True) date = 15 df1 = df.loc[дата,:] df1 = df1.drop(метки =[‘День’, ‘Восход’, ‘Закат’, ‘Время ожидания’]) df2 = df1.to_frame(имя=»градусы»).reset_index().rename(столбцы ={«индекс»: «планета «})