Мне нужно вставить dataframe
в другую dataframe
колонку, как мне нужно, чтобы это сделать?
df = pd.DataFrame(columns=('X_F', 'Y_F', 'Z_F', 'Label'))
df['X_F'] = X[uid]
df['Y_F'] = Y[uid]
df['Z_F'] = Z[uid]
Это показывает мне
ValueError: Cannot set a frame with no defined index and a value that cannot be converted to a Series
Есть какой-либо способ сделать это?
Я не совсем уверен, чего вы пытаетесь достичь, но вы можете использовать MultiIndex
если вы хотите хранить фреймы данных внутри dataframe.
См. Пример:
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
с 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
И если вы хотите извлечь из него DataFrame Y
вы можете использовать:
dff['Y']
# A B C
#0 4 d 1.7
#1 5 e 0.3
#2 6 f 2.8
Надеюсь это поможет.