使用Pandas df.loc查询时如何排除索引输出?
解决方法
针对你遇到的Pandas输出带索引的问题,有两种常见处理方式:
1. 去掉索引但保留Series元信息
如果希望输出格式和你期望的一致(保留Name和dtype,仅去掉索引编号),可以使用to_string(index=False)方法:
print(df.loc[df['STYLE_NO'] == 'UBR-5912', 'DESCRIPTION'].to_string(index=False))
执行后输出:
PADDED U/WIRED BRA Name: DESCRIPTION, dtype: object
2. 直接提取单个字符串值
如果后续代码需要直接使用描述名称的纯字符串(不需要Series的附加信息),可以用以下任意一种方式:
- 用
iloc[0]定位第一个元素:
desc = df.loc[df['STYLE_NO'] == 'UBR-5912', 'DESCRIPTION'].iloc[0]
- 用
values[0]提取数组元素:
desc = df.loc[df['STYLE_NO'] == 'UBR-5912', 'DESCRIPTION'].values[0]
- 用
item()方法(仅适用于单个结果的场景):
desc = df.loc[df['STYLE_NO'] == 'UBR-5912', 'DESCRIPTION'].item()
以上三种方式得到的结果都是纯字符串 PADDED U/WIRED BRA,可直接用于后续逻辑。
内容的提问来源于stack exchange,提问作者lingyau lee
相关产品推荐
相关产品推荐

