[英]How to create pd.MultiIndex for existing pd.DataFrame object, using Pandas and Python 3?
我正在為現有的pd.DataFrame
尋找與pd.read_table(path/to/file, index_col=[0,1])
pd.DataFrame
。
我經常遇到具有以下格式的pd.DataFrames
:
# Index Data
iters = 3*[1] + 3*[2] + 3*[3]
clusters = 3*[1,2,3]
# Recreate DataFrame
DF_A = pd.DataFrame([iters, clusters], index = ["iteration", "cluster"]).T
DF_B = pd.DataFrame(np.random.RandomState(0).normal(size=(100,9)), index = ["attr_%d"%_ for _ in range(100)]).T
DF_concat = pd.concat([DF_A, DF_B], axis=1).set_index("iteration", drop=True)
DF_concat.head()
如果將它們加載到Python
,我將像上面描述的那樣執行index_col=[0,1]
,但是如何將現有的pd.DataFrame
pd.Index
轉換為pd.MultiIndex
所以iteration
是外部索引級別,而cluster
是內部指標水平?
我嘗試了以下操作,但是作業搞砸了。 對於我所做的簡單示例,每次迭代應該只有3個:
DF_B.index = pd.MultiIndex(levels=[DF_concat["cluster"].index.tolist(), DF_concat["cluster"].tolist()], labels=[DF_concat["cluster"].index.tolist(), DF_concat["cluster"].tolist()], names=["iteration", "cluster"])
DF_B
這個怎么樣..
DF_concat.set_index([DF_concat.index, 'cluster'])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.