gpt4 book ai didi

python - 如何从其索引和两个变量函数创建一个 pandas DataFrame?

转载 作者:太空宇宙 更新时间:2023-11-04 05:34:11 25 4
gpt4 key购买 nike

这是我一直在使用的常见模式:

rows = ['Joe','Amy','Tom']
columns = ['account_no', 'balance']

def f(row, column):
'''Fetches value from database'''
return np.random.random()

pd.DataFrame([[f(row, column) for column in columns] for row in rows], index=rows, columns=columns)

如果行和列都是数字,我也可以使用np.meshgrid:

rows = [1,2,3]
columns = [4,5]

pd.DataFrame(np.vectorize(f)(xs, ys), index=rows, columns=columns)

我的问题是,在一般情况下,最优雅/Pythonic/“pandasic”/最快/最易读的方法是什么?

谢谢!

最佳答案

这样做的一种方法是将您的函数变成一个 ufunc,然后使用 outer

import numpy as np
uf = np.frompyfunc(f, 2, 1) # f has 2 inputs, 1 outputs
pd.DataFrame(uf.outer(rows, columns), index=rows, columns=columns)

您上面的一个标准是“最具可读性”,我认为您现有的 for 循环解决方案是最好的。

关于python - 如何从其索引和两个变量函数创建一个 pandas DataFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36110090/

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