Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';t从以元组为列的DICT创建具有多索引列的数据帧_Python_Pandas - Fatal编程技术网

Python Can';t从以元组为列的DICT创建具有多索引列的数据帧

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

我有一个Python数据结构:

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