Python 如何在dataframe中隐藏索引列?
如何删除第一行中的索引列。我知道它不算列,但当我转置数据帧时,它不再允许我使用标题 这会引发一个错误,即axis中不包含标签['RTM'] RTM包含在轴中,如果我执行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执行此操作,以
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.:/抱歉问了这么愚蠢的问题。