Добавить столбец и данные по умолчанию в новый фрейм данных Pandas

#python #pandas #dataframe

#python #pandas #фрейм данных

Вопрос:

Я хочу одновременно добавлять данные из столбца и фразу по умолчанию в фрейм данных Pandas, db содержащий много столбцов, а не только id_sin amp; extra…

Я попробовал это:

 import pandas as pd
db = pd.DataFrame({'id_sin':['s123','s124','s125','s126'],
                   'extra':['abc','def','ghi','jkl'],
                   ...
})
df = pd.DataFrame(columns=['id_sin','phrase'])
df = df.append([db['id_sin'],['default phrase']*len(db)])
 

Это ожидаемый результат:

 >>> df
  id_sin          phrase
0   s123  default phrase
1   s124  default phrase
2   s125  default phrase
3   s126  default phrase
 

Но я получаю сообщение об ошибке, пожалуйста, помогите … заранее спасибо!

Комментарии:

1. Почему бы и нет db['Phrase'] = 'default phrase' ????

2. Мне нужно взять столбец и добавить к нему фразу по умолчанию … пожалуйста, помогите!

3. какая первая часть? какие ошибки?

4. Мое предложение дает вам именно тот результат, который вам нужен

5. Просто чтобы уточнить, у вас есть DataFrame ( db ) со многими столбцами, и вы хотели бы создать еще один фрейм данных с подмножеством исходных столбцов (в данном случае просто 'id_sin' ) и другим столбцом с именем phrase, который принимает статическое значение для всех строк? Если это так, вы хотите: df = db[['id_sin']].assign(phrase='default phrase') . В противном случае, пожалуйста, попробуйте объяснить проблему более четко.

Ответ №1:

Вы можете создать копию существующего фрейма данных, а затем добавить к нему новый столбец.

 import pandas as pd
db = pd.DataFrame({'id_sin':['s123','s124','s125','s126'],
               'extra':['abc','def','ghi','jkl'],
               ...
})

df = pd.DataFrame()
df['id_sin'] = db[['id_sin']]
df['Phrase'] = 'Default Phrase'