过滤后无法通过索引获取Pandas DataFrame值的技术求助
问题解决方法
问题原因
你用df[df['Name Block DWG'] == block]过滤得到的df4保留了原DataFrame的标签索引,直接用[0]是在查找标签为0的行,但原索引里根本没有这个值,所以触发KeyError:0。
可行解决方案
按位置索引取值(最直接):
用iloc专门按整数位置(从0开始)访问,完全无视原索引:print(df4['Name Block DWG'].iloc[0])重置索引后用标签索引:
重置索引并丢弃原索引列,生成从0开始的连续新索引:df4 = df4.reset_index(drop=True) print(df4['Name Block DWG'][0])提取所有非空值(如果需要批量获取):
直接把列里的非空值转成列表,按需访问:non_empty_block_values = df4['Name Block DWG'].dropna().tolist() # 取第一个值 print(non_empty_block_values[0])
内容的提问来源于stack exchange,提问作者BeautifulSoupProgramming
相关产品推荐
相关产品推荐

