我无法弄清楚如何用大量变量,纬度和经度(例如
)重塑巨大的DataFrame
Var1_(lat1, len1) Var2_(lat1, len1)
date1 date2
d1 d5 v1 v5
d2 d6 v2 v6
d3 d7 v3 v7
d4 d8 v4 v8
并将其重塑为
Var1 Var2
date1 date2 lat len
d1 d5 lat1 len1 v1 v5
d2 d6 lat1 len1 v2 v6
d3 d7 lat1 len1 v3 v7
d4 d8 lat1 len1 v4 v8
也可以通过lat和len值来索引这些变量。
当然,这只是一个小例子,但我正在寻找对更多变量(值始终在“ _”之前)以及纬度和经度(值始终在括号之间并以逗号分隔)有效的东西。 / p>
答案 0 :(得分:1)
先创建MultiIndex
,然后删除()
,然后再通过_
或,
删除https://github.com/drduh/macOS-Security-and-Privacy-Guide#admin-and-standard-user-accounts,以便通过最后设置的索引Series.str.split
重塑由DataFrame.stack
命名:
df.columns = df.columns.str.replace('\(|\)','').str.split('_|, ', expand=True)
df = df.stack(level=[1,2]).rename_axis(('date1','date2','lat','len'))
print (df)
Var1 Var2
date1 date2 lat len
d1 d5 lat1 len1 v1 v5
d2 d6 lat1 len1 v2 v6
d3 d7 lat1 len1 v3 v7
d4 d8 lat1 len1 v4 v8