过滤后无法通过索引获取DataFrame值的问题求助
Pandas筛选后无法提取目标数据问题
当前输出情况
- 执行
df4 = df4['Name Block DWG']后,输出包含大量空Series,仅中间存在有效数据:
... Series([], Name: Name Block DWG, dtype: object) Series([], Name: Name Block DWG, dtype: object) 11 NS-HV 12 NS-HV 13 NS-HV 14 NS-HV Series([], Name: Name Block DWG, dtype: object) Series([], Name: Name Block DWG, dtype: object) ...
- 执行
df4 = df4[['Name Block DWG']]后,输出包含大量空DataFrame,仅中间存在有效数据:
... Empty DataFrame Columns: [Name Block DWG] Index: [] Empty DataFrame Columns: [Name Block DWG] Index: [] Name Block DWG 11 NS-HV 12 NS-HV 13 NS-HV 14 NS-HV ...
期望结果
希望直接得到不含空内容的有效数据:
11 NS-HV 12 NS-HV 13 NS-HV 14 NS-HV
解决方案
直接用dropna()方法过滤空值,根据需求选择对应方式:
- 若需得到Series格式:
df4 = df4['Name Block DWG'].dropna()
- 若需得到DataFrame格式:
df4 = df4[['Name Block DWG']].dropna()
如果空值为空字符串而非NaN,可先替换再过滤:
# 处理Series df4 = df4['Name Block DWG'].replace('', pd.NA).dropna() # 处理DataFrame df4 = df4[['Name Block DWG']].replace('', pd.NA).dropna()
内容的提问来源于stack exchange,提问作者BeautifulSoupProgramming
相关产品推荐
相关产品推荐

