Удаление "индекса строки" в пандах - PullRequest
0 голосов
/ 28 сентября 2019

У меня есть приведенный ниже фрейм данных, в котором я пытаюсь удалить первый столбец, который является столбцом по умолчанию, назначенным в pandas dataframe / series.Как мне избавиться от этого?

Фактический результат

Фактический результат должен быть без первого столбца, который имеет "0".Я пытался использовать сброс индекса с помощью drop, но ничего не работает.

Вот мой код, который отправляет письмо с выводом данных.

def send_email(index):
    fromaddr = ""
    toaddr = ""
    msg = MIMEMultipart()
    msg['From'] = fromaddr
    msg['To'] = toaddr
    msg['Subject'] = "Timestamp Alarm"
    df1 = df.iloc[index,1:]
    new = df1

    body = """\
<html>
  <head></head>
  <body>
    {0}
  </body>
</html>
""".format(pd.DataFrame(new).T.to_html())
    part1 = MIMEText(body,'html')
    msg.attach(part1)
    server = smtplib.SMTP("smtp.gmail.com", 587)
    server.starttls()
    server.login('***', '**')
    server.sendmail('','',msg.as_string())
    server.quit()

Ответы [ 2 ]

0 голосов
/ 28 сентября 2019

Посмотрите документацию to_html .

Эта функция содержит параметр ao index (по умолчанию True ), решающий, создавать ли столбец индекса.

Возможно, вам следует передать его со значением False .

Другой вариант :

Распечатать фрейм данных (а затем отправить) как "обычный" текст.

Чтобы скрыть столбец индекса, также передайте index = False :

print(df.to_string(index=False))
0 голосов
/ 28 сентября 2019

Смотрите следующее и относитесь к вашей проблеме.

Общее решение

import pandas as pd
d = {'Field_A': 'FA', 'Field_B': 'FB', 'Field_C': 'FC'}
df = pd.DataFrame({0: d}).T
df

Вывод :

    Field_A Field_B Field_C
0   FA      FB      FC

Конкретное решение

Если все, что вам нужно, это значения в ячейкахдля столбцов Field_A, Field_B, Field_C, затем просто позвоните df.loc[0].В вашем случае вам нужно изменить строку, в которой вы определяете переменную new.

new = df.loc[index]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...