Python Can';t从以元组为列的DICT创建具有多索引列的数据帧
我有一个Python数据结构:Python Can';t从以元组为列的DICT创建具有多索引列的数据帧,python,pandas,Python,Pandas,我有一个Python数据结构: a = [ { ('Temperature', 'C'): 25, ('Temperature', 'F'): 77 }, { ('Temperature', 'C'): 30, ('Temperature', 'F'): 86 } ] 我尝试将此数据结构转换为这样一个以制表符分隔的字符串,标题有两行: Temperature Temperature C F 25
a = [
{
('Temperature', 'C'): 25,
('Temperature', 'F'): 77
},
{
('Temperature', 'C'): 30,
('Temperature', 'F'): 86
}
]
我尝试将此数据结构转换为这样一个以制表符分隔的字符串,标题有两行:
Temperature Temperature
C F
25 77
30 86
为了做到这一点,我尝试首先将此数据结构转换为具有多索引列的数据帧。但是我不能使用DataFrame.from_records(a)
方法来实现,因为它返回一个以元组为名称的索引列。如何实现多索引列呢
顺便说一下,我可以做相反的事情。当我有一个如上所述的选项卡分隔文件时,我可以通过以下方式读取它:
a_as_dataframe = pd.read_csv(r"C:\my_tab_separated_file.tsv", sep="\t", header=[0, 1])
然后将其转换为如下记录:
a = a_as_dataframe.to_dict("records")
我想要实现的是相反的效果。使用
多索引。从元组
df=pd.DataFrame(a)
df.columns=pd.MultiIndex.from_元组(df.columns)
df
现在是:
Temperature
C F
0 25 77
1 30 86
>>> df.equals(a_as_dataframe)
True