Python 如何在dataframe中隐藏索引列?

Python 如何在dataframe中隐藏索引列?,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,如何删除第一行中的索引列。我知道它不算列,但当我转置数据帧时,它不再允许我使用标题 这会引发一个错误,即axis中不包含标签['RTM'] RTM包含在轴中,如果我执行index\u col=0 df = xl.parse(sheet_name,header=1, index_col=0, usecols="A:E", nrows=6, index_col=None) 但随后我丢失了作为头的(0,0)值“Artifact name”。任何帮助都将不胜感激 您可以使用.iloc执行此操作,以

如何删除第一行中的索引列。我知道它不算列,但当我转置数据帧时,它不再允许我使用标题

这会引发一个错误,即axis中不包含标签['RTM']

RTM包含在轴中,如果我执行
index\u col=0

df = xl.parse(sheet_name,header=1, index_col=0, usecols="A:E", nrows=6, index_col=None) 

但随后我丢失了作为头的(0,0)值“Artifact name”。任何帮助都将不胜感激

您可以使用
.iloc
执行此操作,以便在转置后将列名分配给第一行。然后可以删除第一行,并清理名称

import pandas as pd
import numpy as np
df = pd.DataFrame({'id': list('ABCDE'),
                   'val1': np.arange(1,6,1),
                   'val2': np.arange(11,16,1)})
  id  val1  val2
0  A     1    11
1  B     2    12
2  C     3    13
3  D     4    14
4  E     5    15
转换并清理名称

df = df.T
df.columns = df.iloc[0]
df = df.drop(df.iloc[0].index.name)
df.columns.name = None
df
现在是:

       A   B   C   D   E
val1   1   2   3   4   5
val2  11  12  13  14  15

或者,只需创建一个新的DataFrame开始,指定要作为标题列的列

header_col = 'id'
cols = [x for x in df.columns if x != header_col]
pd.DataFrame(df[cols].values.T, columns=df[header_col], index=cols)
输出:

id     A   B   C   D   E
val1   1   2   3   4   5
val2  11  12  13  14  15

可以使用
.iloc
执行此操作,以便在转置后将列名分配给第一行。然后可以删除第一行,并清理名称

import pandas as pd
import numpy as np
df = pd.DataFrame({'id': list('ABCDE'),
                   'val1': np.arange(1,6,1),
                   'val2': np.arange(11,16,1)})
  id  val1  val2
0  A     1    11
1  B     2    12
2  C     3    13
3  D     4    14
4  E     5    15
转换并清理名称

df = df.T
df.columns = df.iloc[0]
df = df.drop(df.iloc[0].index.name)
df.columns.name = None
df
现在是:

       A   B   C   D   E
val1   1   2   3   4   5
val2  11  12  13  14  15

或者,只需创建一个新的DataFrame开始,指定要作为标题列的列

header_col = 'id'
cols = [x for x in df.columns if x != header_col]
pd.DataFrame(df[cols].values.T, columns=df[header_col], index=cols)
输出:

id     A   B   C   D   E
val1   1   2   3   4   5
val2  11  12  13  14  15

使用@ALollz中的设置:

df.set_index('id').rename_axis(None).T

       A   B   C   D   E
val1   1   2   3   4   5
val2  11  12  13  14  15

使用@ALollz中的设置:

df.set_index('id').rename_axis(None).T

       A   B   C   D   E
val1   1   2   3   4   5
val2  11  12  13  14  15

您希望第一列在转置后成为列标题吗?是的,先生!这正是我想要的。你希望第一列在转换后成为列标题吗?是的,先生!这正是我想要的。df.iloc[0]!我几乎搜索了如何在DataFrame中寻址单元格,但没有执行它。谢谢。您知道如何才能不丢失列0的标题吗?该列是'Artifact Name'df.iloc[0]!我几乎搜索了如何在DataFrame中寻址单元格,但没有执行它。谢谢。您知道如何才能不丢失列0的标题吗?该列为“工件名称”。谢谢!这很有魅力。你知道怎样才能不丢失我的“id”标签吗?如果你想保留
id
,只需使用
df。设置索引(“id”)。T
是!我这样做了,它在控制台中显示出来,但当我使用xlsxwrite将它写入excel文件时,我丢失了它的值。我想我做错的是df=df.T.:/抱歉问了这么愚蠢的问题。谢谢!这很有魅力。你知道怎样才能不丢失我的“id”标签吗?如果你想保留
id
,只需使用
df。设置索引(“id”)。T
是!我这样做了,它在控制台中显示出来,但当我使用xlsxwrite将它写入excel文件时,我丢失了它的值。我想我做错的是df=df.T.:/抱歉问了这么愚蠢的问题。