首页 > 解决方案 > 删除熊猫中的“行索引”

问题描述

我有以下数据框,其中我试图删除第一列,它是熊猫数据框/系列中分配的默认列。我该如何摆脱它?

实际结果

实际结果应该没有具有“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()

标签: pythonpandasindexing

解决方案


请参阅以下内容并与您的问题相关。

通用解决方案

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]

推荐阅读