在保留索引列的同时转置 Pandas 中的 DataFrame
Transpose DataFrame in Pandas while preserving Index column
问题是,当我转置 DataFrame 时,转置 DataFrame 的 header 变成索引数值,而不是 "id" 列中的值。有关示例,请参见以下原始数据:
我想转置的原始数据(但保持 0,1,2,... 索引不变,并在最终转置 DataFrame 中将 "id" 更改为 "id2") .
DataFrame 在我转置之后,注意 headers 是索引值而不是 "id" 值(这是我所期望和需要的)
逻辑流程
首先,这有助于摆脱作为 header 放置的数字索引:
然后这有助于摆脱作为 header 的索引号,但现在 "id" 和 "index" 被打乱了: &
但现在我的 id 和索引值由于某种原因被打乱了。
如何解决这个问题,使列为 [id2,600mpe, au565...]?
我怎样才能更有效地做到这一点?
这是我的代码:
DF = pd.read_table(data,sep="\t",index_col = [0]).transpose() #Add index_col = [0] to not have index values as own row during transposition
m, n = DF.shape
DF.reset_index(drop=False, inplace=True)
DF.head()
这没有多大帮助:Add indexed column to DataFrame with pandas
如果我理解你的例子,你似乎发生了什么是你 transpose
将你的实际索引(0...n 序列作为列 headers。首先,如果你然后想要保留数字索引,可以将其存储为 id2
.
DF['id2'] = DF.index
现在,如果您希望 id
成为列 headers,那么您必须将其设置为索引,覆盖默认索引:
DF.set_index('id',inplace=True)
DF.T
我没有复制您的数据,但这应该为您提供 id
跨列的值。
问题是,当我转置 DataFrame 时,转置 DataFrame 的 header 变成索引数值,而不是 "id" 列中的值。有关示例,请参见以下原始数据:
我想转置的原始数据(但保持 0,1,2,... 索引不变,并在最终转置 DataFrame 中将 "id" 更改为 "id2") .
逻辑流程
首先,这有助于摆脱作为 header 放置的数字索引:
然后这有助于摆脱作为 header 的索引号,但现在 "id" 和 "index" 被打乱了:
但现在我的 id 和索引值由于某种原因被打乱了。
如何解决这个问题,使列为 [id2,600mpe, au565...]?
我怎样才能更有效地做到这一点?
这是我的代码:
DF = pd.read_table(data,sep="\t",index_col = [0]).transpose() #Add index_col = [0] to not have index values as own row during transposition
m, n = DF.shape
DF.reset_index(drop=False, inplace=True)
DF.head()
这没有多大帮助:Add indexed column to DataFrame with pandas
如果我理解你的例子,你似乎发生了什么是你 transpose
将你的实际索引(0...n 序列作为列 headers。首先,如果你然后想要保留数字索引,可以将其存储为 id2
.
DF['id2'] = DF.index
现在,如果您希望 id
成为列 headers,那么您必须将其设置为索引,覆盖默认索引:
DF.set_index('id',inplace=True)
DF.T
我没有复制您的数据,但这应该为您提供 id
跨列的值。