3 回答

TA贡献1859条经验 获得超6个赞
可以熔df成长格式,加入测试名称和值类型列,然后转置。
tests = np.random.choice(list(string.ascii_letters),size=(100,1))
results = np.random.randint(0,100,size=(100, 2))
df = pd.DataFrame(np.concatenate([tests, results], axis=1),
columns=["Test Name", "ValueA", "ValueB"])
df2['key'] = df['Test Name'] + ' ' + df['variable']
df2['key'] = df2['Test Name'] + ' ' + df2['variable']
df2[['key', 'value']].set_index('key').T
循环遍历每个数据帧以创建融合的数据帧,然后进行连接。

TA贡献1865条经验 获得超7个赞
df2 = df.set_index('Test Name').unstack()
result = pd.DataFrame(data=df2.values.reshape(1,-1), columns=df2.index)
输出:
>>> result
ValueA ... ValueB
Test Name M Z C o Q h u M s w k k x J ... w N u p S r U x z y S O C o
0 44 88 8 0 87 10 7 34 4 27 72 11 32 22 ... 49 30 41 6 89 1 47 68 31 98 47 2 23 32
您可以像这样访问单个结果:
result['ValueA', 'M']
# or
result['ValueA']['M']

TA贡献1963条经验 获得超6个赞
一种更pythonic的方式
df_out = df.set_index('Test Name').stack().to_frame().T
df_out.columns = df_out.columns.map(' '.join).str.strip()
添加回答
举报