我已经阅读了excel输入文件,将其转换为pandas数据帧格式,如下所示。它有三列[OFFICE NO, DAY HOURS, DAY RATES]和两行值[(101,8,60),[102,8,60)]。输入:
OFFICE NO DAY HOURS DAY RATES
101 8 60
102 8 60
我在文本文件中的最终输出在第一行只需要两列[OFFICE NO, DAY JOB]。第二行需要在"DAY JOB"下面分成两个[HOURS, RATES]列。主列名。输出:
OFFICE NO DAY JOB
HOURS RATES
101 8 60
102 8 60
您能指导我如何在两个不同的行中定义pandas中的列以实现上述输出吗?
看起来像熊猫。MultiIndex可能就是你要找的。
df = pd.DataFrame({'OFFICE NO': [101, 102],
'DAY HOURS': [8, 8],
'DAY RATES': [60, 60]})
columns = pd.MultiIndex.from_tuples([('DAY JOB', 'HOURS'), ('DAY JOB', 'RATES')])
df2 = pd.DataFrame(df[['DAY HOURS', 'DAY RATES']].values, columns=columns, index=df['OFFICE NO'])
print(df2)
输出:
DAY JOB
HOURS RATES
OFFICE NO
101 8 60
102 8 60