合并DataFrame后使用Pivot_Table出现列显示异常问题求助
解决Pivot_Table后查看列显示索引的问题
我完全懂你的困扰——查看df4.Ammonia时总是带着Time索引一起输出,而你只想看到单纯的NaN序列对吧?这其实是因为df4.Ammonia返回的是一个Series对象,而Series在默认打印时会同时展示它的索引和对应的值。
问题根源
pivot_table生成的df4是一个以Time为索引、Sensor_Type为列的DataFrame。当你用点语法(.Ammonia)或单括号提取某一列时,得到的是Series,它会绑定原DataFrame的索引,所以输出时会把Time索引和NaN值一并列出。
解决方案
这里有几个快速解决的方法:
提取纯值数组
如果你只需要查看纯NaN值,不需要索引,可以直接调用values属性,返回numpy数组:print(df4['Ammonia'].values) # 输出示例:[nan nan nan ...]提取为单列DataFrame
如果你想保持类似原DataFrame的列展示形式(不单独显示每行的Time索引),可以用双层方括号提取,这样返回的是一个单列DataFrame:print(df4[['Ammonia']]) # 输出会和普通DataFrame列格式一致,仅显示表头和值临时修改Series打印设置
如果你习惯用Series但不想显示索引,可以临时修改pandas的全局打印选项:import pandas as pd pd.set_option('display.show_index', False) print(df4.Ammonia) # 此时输出就不会显示Time索引了注意:这个设置是全局生效的,后续如果想恢复默认,把参数改回
True即可。
另外可以确认下Pollutants表中确实包含'Ammonia'这个Sensor_Type,这样pivot_table才会生成对应的列——从你的描述看这部分是没问题的,只是值全为NaN而已。
内容的提问来源于stack exchange,提问作者Dimi
相关产品推荐
相关产品推荐

