Вставьте dataFrame в другой столбец dataFrame

1

Мне нужно вставить 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

Есть какой-либо способ сделать это?

  • 0
    Вы можете объединить два или более фрейма данных, используя pandas.DataFrame.merge
  • 0
    мне не нужно объединять, мне нужно добавить его в столбец ...
Показать ещё 1 комментарий
Теги:
pandas
dataframe
multiple-columns

1 ответ

0
Лучший ответ

Я не совсем уверен, чего вы пытаетесь достичь, но вы можете использовать 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

Надеюсь это поможет.

  • 0
    большое Вам спасибо :)
  • 0
    @RuslanVer Добро пожаловать :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню