![](/img/trans.png)
[英]Dict of dict of dicts to pandas dataframe - changing multiindex rows to be columns
[英]Can't create pandas DataFrame with MultiIndex columns from dicts with tuples as columns
我有這個 Python 數據結構:
a = [
{
('Temperature', 'C'): 25,
('Temperature', 'F'): 77
},
{
('Temperature', 'C'): 30,
('Temperature', 'F'): 86
}
]
我嘗試將此數據結構轉換為像這樣的制表符分隔字符串,header 有 2 行:
Temperature Temperature
C F
25 77
30 86
為此,我首先嘗試將此數據結構轉換為具有 MultiIndex 列的 DataFrame。 但我不能使用DataFrame.from_records(a)
方法來做到這一點,因為它返回一個以元組作為名稱的索引列。 我怎樣才能實現 MultiIndex 列呢?
順便說一句,我可以做相反的事情。 當我有一個像上面這樣的制表符分隔文件時,我可以閱讀它:
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")
我想要實現的是相反的。
如何使用MultiIndex.from_tuples
df = pd.DataFrame(a)
df.columns = pd.MultiIndex.from_tuples(df.columns)
df
現在是:
Temperature
C F
0 25 77
1 30 86
>>> df.equals(a_as_dataframe)
True
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.