python - 与 Pivot_Table 合并后结果列中的错误
问题描述
在最近合并的 DataFrame 上应用Pivot_Table后,我意识到我得到的列不是我所期望的。
基本上,而不是得到这个输出:
df4.Ammonia:
NAN
NAN
NAN
.
.
我得到了这个输出:
df4.Ammonia:
Time
2013-11-01 00:00:00 NaN
2013-11-01 01:00:00 NaN
2013-11-01 02:00:00 NaN
.
.
每次我检查一列时,列索引似乎都会出现!
这是我的代码:
Mi_Pollution['Measurement'] = Mi_Pollution['Measurement'].astype(float)
Mi_Pollution['Sensor_ID'] = Mi_Pollution['Sensor_ID'].astype(float)
Mi_Pollution['Time']=list(Mi_Pollution.index)
Mi_Pollution.reset_index()
df3 = Mi_Pollution.merge(Pollutants, on='Sensor_ID', how='left')
然后:
df4 = df3.pivot_table(index=['Time'],values='Measurement',columns='Sensor_Type')
任何建议都会非常感激,谢谢你。
解决方案
可以预期,您会得到Datetimeindex
,因为index
在pivot_table
创建返回的列的创建索引中的参数后的列DataFrame
- 这里time
创建了列DatetimeIndex
。
通过以下方式检查:
print (df4.index)
如果需要默认索引用于将 DattimeIndex 转换为新列并将DataFrame.reset_index
其替换为删除列名(字符串):RangeIndex
DataFrame.rename_axis
Time
df4 = df4.reset_index().rename_axis(None, axis=1)
推荐阅读
- c# - 使用 CefSharp 浏览文件并获取绝对路径
- python - Python rrdtool.OperationalError:x-grid 格式无效
- javascript - 如何对数组进行分组并根据每个组返回一大块数组的单个属性?
- scala - 如何使火花流处理多批次?
- c# - 从已知索引中获取字符串,直到找到 \r\n
- r - 比较矩阵的行并删除项目
- php - 是否可以将成功的登录 cookie 转储到站点并绕过会话?
- java - 如果语句中的 SonarQube Java 'NullPointerException 可能会被抛出'
- asp.net-core - ASP.NET Core SignalR websocket 连接限制
- javascript - 防止空字符串成为数组的一部分