本文介绍了如何将自定义函数应用于每行的 pandas 数据框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想应用一个自定义函数并创建一个名为population2050 的派生列,该列基于我的数据框中已存在的两列.
I want to apply a custom function and create a derived column called population2050 that is based on two columns already present in my data frame.
import pandas as pd
import sqlite3
conn = sqlite3.connect('factbook.db')
query = "select * from facts where area_land =0;"
facts = pd.read_sql_query(query,conn)
print(list(facts.columns.values))
def final_pop(initial_pop,growth_rate):
final = initial_pop*math.e**(growth_rate*35)
return(final)
facts['pop2050'] = facts['population','population_growth'].apply(final_pop,axis=1)
当我运行上述代码时,出现错误.我没有正确使用应用"功能吗?
When I run the above code, I get an error. Am I not using the 'apply' function correctly?
推荐答案
Apply 将沿轴为 1 的整行传递给您.假设你的两列被称为 initial_pop
和 growth_rate
Apply will pass you along the entire row with axis=1. Adjust like this assuming your two columns are called initial_pop
and growth_rate
def final_pop(row):
return row.initial_pop*math.e**(row.growth_rate*35)
这篇关于如何将自定义函数应用于每行的 pandas 数据框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!