python - 当我尝试将 pandas 数据帧的一行的索引作为整数获取时,错误“只能将大小为 1 的数组转换为 Python 标量”
问题描述
我有一个包含股票代码和许多其他列的 excel 文件。我有以下 excel 文件的简化版本:
象征 | 行业 | |
---|---|---|
0 | 苹果 | 技术制造 |
1 | 微软 | 技术制造 |
2 | 特斯拉 | 电动汽车制造 |
从本质上讲,我试图根据符号获得行业。例如,如果我使用“AAPL”,我想获得“技术制造”。到目前为止,这是我的代码。
import pandas as pd
excel_file1 = 'file.xlsx'
df = pd.read_excel(excel_file1)
stock = 'AAPL'
row_index = df[df['Symbol'] == stock].index.item()
industry = df['Industry'][row_index]
print(industry)
尝试获取 row_index 后,出现错误:“ValueError:只能将大小为 1 的数组转换为 Python 标量”
有人可以解决这个问题吗?还可以说 row_index 有效:这段代码(下面)是否正确?
industry = df['Industry'][row_index]
解决方案
利用:
stock = 'AAPL'
industry = df[df['Symbol'] == stock]['Industry'][0]
或:,如果您想使用 搜索index
,请使用df.loc
:
stock = 'AAPL'
industry = df.loc[df[df['Symbol'] == stock].index, 'Industry'][0]
但是第一个好多了。
推荐阅读
- c - C preprocessor declaration with call to free function
- javascript - 未完全下载的 blob:视频
- database - Laravel JWT return data from two tables
- django - How to add change password functionality to Django / React app
- excel - VBA Macro, get URL from given range loop and pull XML node
- node.js - 如何在 mongodb/mongoose 和 nodejs 的数组中查找一项
- django - Comparing static variable with DB in Django view?
- android - 如何启动一个新的 Android 活动并避免破坏之前的活动?
- wordpress - 即使代码正确,nginx.conf 文件也不会重新启动
- php - 导入大肠laravel出现重复错误