我正在使用pandas在python中进行一些数据分析。在分析中,我正在编写很多看起来像这样的函数
import pandas as pd
def my_func(data):
"""
A function to perform X on data
:type data: pd.DataFrame
:rtype data: pd.DataFrame
"""
<... do X to data....>
return data
# perform my_func on data
data = my_func(data)
通常,“做X”涉及在计算中使用data
的1或2(通常是1)列在data
中创建新列,并使用该新列返回数据框。请注意,在我的函数中没有覆盖列,仅创建新列。许多函数还使用熊猫groupyby
对列进行分组,因此应用lambda
表达式可能会更加困难。
是否有更多的pythonic / pandas友好的/更“以编程方式”编写这些函数的正确方法?
我问,因为将整个数据帧传递给函数似乎既冒险又庞大;如果该函数存在错误,则可能会损坏数据框中的数据。也许将各个列作为pandas系列传递到函数中并返回一个新系列会更合适?