问题描述
这是我拥有的代码:
.......
gender = data.loc[np.where(data['ID']==id)]["gender"].tolist()[0]
cell = data.loc[np.where(data['ID']==id)]["cell"].tolist()[0]
bloodtype = data.loc[np.where(data['ID']==id)]["bloodType"].tolist()[0]
expList = tempPos[(tempPos.gender == gender) & (tempPos.cell == cell) & (tempPos.bloodType == bloodtype)]
.......
现在还有其他几列可以在 tempPos 数据框中引用(在上面的示例中,我使用了性别、细胞和血型)
def generateProbability(col1,col2,col3):
.......
col1val = data.loc[np.where(data['ID']==id)][col1].tolist()[0]
col2val = data.loc[np.where(data['ID']==id)][col2].tolist()[0]
col3val = data.loc[np.where(data['ID']==id)][col3].tolist()[0]
expList = tempPos[(tempPos.col1 == col1val) & (tempPos.col2 == col2val) & (tempPos.col3 == col3val)]
........
generateProbability("Age","Gender","bloodType")
谢谢。
解决方法
您无需创建函数。您可以通过 for
循环访问它们。
column_outputs = dict # Dictionary to hold column outputs.
for column in data.columns:
column_outputs[column] = data.loc[data['ID'] == id,column].tolist()[0]
column_outputs
现在应该包含每列所需的值,您可以使用列名作为键来访问这些值。