gpt4 book ai didi

python - 是否有一种最佳方法可以迭代数据帧的每个单元格而无需迭代?

转载 作者:太空宇宙 更新时间:2023-11-03 21:20:54 25 4
gpt4 key购买 nike

我想应用一个函数 foo(df.column,df.index,df.current value) 并最终得到相同的数据帧,但每个单元格都等于该函数的结果尽可能最快的方式。

def foo(dates, name, value):
return black_box_function(dates, name, value)

我希望日期是单元格的列,名称是数据框单元格内容的索引和值。

我尝试将其实现为 df.apply(foo(df['index'], df['column']) 但不起作用。

最佳答案

您可以使用np.vectorize创建一个向量化函数,该函数可以将数据帧列作为参数(或任何其他类似数组的类型)。请参阅下面我的示例(请注意,传递给向量化函数的参数必须具有相同的长度):

def foo(val1, val2, val3):
""" do some stuff in here with your function parameters """
return val1 * val2 * val3

# this will create a new column in your dataframe called 'new_col'
# each row in df.new_col will be the result of foo applied to that row
df['new_col'] = np.vectorize(foo)(df.col1, df.col2, df.col3)

请参阅 np.vectorize 的文档.

关于python - 是否有一种最佳方法可以迭代数据帧的每个单元格而无需迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54261807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com