到目前为止,我在这里使用了以下代码行:
max_total_gross = event_data["max_total_gross"].loc[event_data["event_id"] == event_id].item()
Run Code Online (Sandbox Code Playgroud)
自从我更新了熊猫以来,我收到了未来的警告:
/opt/conda/lib/python3.7/site-packages/ipykernel_launcher.py:12:
item不建议使用FutureWarning:如果sys.path [0] =='',则将在以后的版本中删除:
我试图用这种方式修复它,但是结果不一样:
event_data.loc[event_data.event_id == event_id, 'max_total_gross']
Run Code Online (Sandbox Code Playgroud)
我期望一个整数。
item()如果您想断言 Series 的长度恰好为 1,并且同时获得该单个值,则该方法仍然很有用。我建议更换:
result = ser.item()
Run Code Online (Sandbox Code Playgroud)
和:
result = ser.values.item()
Run Code Online (Sandbox Code Playgroud)
这应该做你想做的。
You could also just use .iloc[0], but keep in mind that it will raise an IndexError if there is not at least one item in the series you're calling it on.
s = event_data.loc[event_data.event_id == event_id, 'max_total_gross']
s.iloc[0]
Run Code Online (Sandbox Code Playgroud)
如果需要第一个匹配的值iter与 一起使用next,优点是如果没有值匹配则返回默认值:
s = event_data.loc[event_data.event_id == event_id, 'max_total_gross']
out = next(iter(s), 'no match')
print (out)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2591 次 |
| 最近记录: |