#python #python-3.x #pandas #dataframe
#python #python-3.x #панды #фрейм данных
Вопрос:
У меня есть фрейм данных, в котором есть 4 столбца
data = pd.DataFrame(columns=['Math', 'Geo', 'Total', 'Difference'])
Может кто-нибудь, пожалуйста, скажите мне, как я могу написать эту функцию____
data['Total'] = data['Math'] data['Geo']
data['Difference'] = data['Math'] - data['Geo']
print(data)
Примерно так_____
row = {"Total": data['Math'] data['Geo'], "Difference": data['Math'] - data['Geo']}
print(data)
Я знаю, что это неправильный путь, потому что я получаю такую ошибку____
Series([], dtype: object)
Заранее благодарю вас 🙂 🙂 🙂
Комментарии:
1. Что такое ошибка? Можете ли вы добавить некоторый образец данных?
2. Ошибка серии ([], dtype: object)
3. Итак, есть emty DataFrame и требуется его обработка? строк нет?
4. Я использую цикл for для извлечения данных из Интернета и передачи в dataframe
5. хм, поэтому, пожалуйста, добавьте примерные данные второго фрейма данных с данными. также ожидаемый результат.
Ответ №1:
Вы можете определить функцию, которая возвращает ряд, который добавляет ваши два столбца, используя apply() .
def fcn(row):
return pd.Series([
row['Math'] row['Geo'],
row['Math']-row['Geo']
])
data[['Total','Difference']] = data.apply(fcn,axis=1)