gpt4 book ai didi

python - 将多行传递给函数

转载 作者:行者123 更新时间:2023-12-04 07:56:38 28 4
gpt4 key购买 nike

我有一个功能

def get_similar_row(rows, target):
"""Return the index of the most similar row"""
return np.argmax(cosine_similarity(rows, [target]))


get_similar_row([[1191, 3, 0, 1, 1],
[3251, 2, 1, 0, 0],
[1641, 1, 1, 1, 0]], [2133, 3, 0, 0, 1])
我不想在调用函数时手动输入数字,而是想传递数据框的所有行 df这样我就跳过了 id 并为所有行传递了所有其他变量。这是给 rows函数的参数。
id  size    numberOfPlants  balcony   available  publicTransport    
0 1191 3 0 1 1
1 3251 2 1 0 0
2 1641 1 1 1 0
3 2133 3 0 0 1

最佳答案

使用 DataFrame.drop 用于移除 id列,转换为 numpy 数组并传递给函数:

#target id
id1 = 3

#convert id to index if necessary
df1 = df.set_index('id')

#selected row by id
target = df1.loc[id1]

#removed target row from original data
get_similar_row(df1.drop(id1).to_numpy(), target.to_numpy())

关于python - 将多行传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66669185/

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