|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
新手求助,困扰好几天也没找到解决方案。。。
1)为什么 print(df9['状态'].at[0])会出现两行‘已签收’数据?
2)df9 是一个大的二位数据表,df9['状态'] 包含 ['已签收','未签收']
需要逐行判断df['状态']列
# 代码
print(df9['状态'].at[0])
if df9['状态'].at[0] == '已签收':
print(1)
else:
print(0)
#出错信息
Traceback (most recent call last):
File "/Users/benny/Documents/pandas/test.py", line 64, in <module>
if df9['状态'].at[0] == '已签收':
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pandas/core/generic.py", line 1527, in __nonzero__
raise ValueError(
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
0 已签收
0 已签收
Name: 状态, dtype: object
进程已结束,退出代码1
结果:
0 已签收
0 已签收
Name: 状态, dtype: object
你打印那明显有两个元素,而你直接想用一个维度大和判断一个 "已签收" 导致报错,所以代码提示你使用
a.empty, a.bool(), a.item(), a.any() or a.all() 来与 "已签收" 进行比较
|
|