python - 熊猫将数据框作为参数传递,但变量在函数内没有得到正确的值
问题描述
numbers_1 = zero['_Mobile'].tolist()
def getmessage(number,df1):
#get the points, gender and name...
message = 'Hello! Greetings from Royale Touche'
try:
name = df1.loc[df1['_Mobile'] == number,'Name'].tolist()[0]
points = df1.loc[df1['_Mobile'] == number, 'Total_Credit_Points'].tolist()[0]
gender = df1.loc[df1['_Mobile'] == number, 'Gender'].tolist()[0]
print(gender)
if gender.lower() == 'male':
title = 'sir'
else:
title = 'mam'
return message
except:
print("not found",number)
message = getmessage(numbers_1[I],zero)
这里的问题是性别在循环中的每次迭代中都以男性身份出现......并且它不会变成女性。熊猫有什么错误吗?
解决方案
您很可能会得到相同的结果,因为您I
在代码顶部进行了硬编码,因此您总是输入相同的变量
这里所说的是针对您的getmessage
功能的建议更新
def getmessage(number, df1):
name, points, gender = df1.loc[df1['_Mobile'] == number][['name', 'points',
'gender']].iloc[0].tolist()
title = 'sir' if gender.lower() == 'male' else 'mam'
推荐阅读
- docker - kubeadm 初始化问题 - 无法执行 'docker info'
- webstorm - WebStorm 调试器没有命中
- python - 使用 groupby 变换从特定行中减去值
- ruby - 使用 '+' 和 'insert' 在 Ruby 中操作字符串
- tensorboard - Tensorboard 显示标量值的单点
- java - Jersey POST 参数值始终为空,但适用于 curl 命令
- linux - 如何使用 ImageMagick 计算一堆图像的中位数?
- c++ - 避免C++中模板类的循环依赖
- python - Django 迁移:django.db.utils.OperationalError:(1364,“字段'名称'没有默认值”)
- android - Android Studio 3.5 中的 lambdas 中的“在 * 行找不到可执行代码”