#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'