Я не совсем уверен, чего вы пытаетесь достичь, но вы можете использовать MultiIndex
, если хотите хранить кадры данных внутри данных.
Пожалуйста, смотрите пример:
df1 = pd.DataFrame({'A': [1,2,3],
'B': list('abc'),
'C': [3.3,2.7,9.1]})
df2 = pd.DataFrame({'A': [4,5,6],
'B': list('def'),
'C': [1.7,0.3,2.8]})
df3 = pd.DataFrame({'A': [7,8,9],
'B': list('ghi'),
'C': [0.3,0.4,0.5]})
dfs = [df1, df2, df3]
names = ['X', 'Y', 'Z']
result = {}
for df, name in zip(dfs, names):
data = df.to_dict()
for key, value in data.items():
result[(name, key)] = value
dff = pd.DataFrame(result)
Теперь dff
- это кадр данных с MultiIndex
, который выглядит следующим образом:
X Y Z
A B C A B C A B C
0 1 a 3.3 4 d 1.7 7 g 0.3
1 2 b 2.7 5 e 0.3 8 h 0.4
2 3 c 9.1 6 f 2.8 9 i 0.5
А если вы хотите взять с него фрейм данных Y
, вы можете использовать:
dff['Y']
# A B C
#0 4 d 1.7
#1 5 e 0.3
#2 6 f 2.8
Надеюсь, это поможет.