与Pivot_Table合并后,结果列中的错误

时间:2019-03-30 14:37:58

标签: python pandas dataframe pivot-table multiple-columns

在最近合并的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')

任何建议都会非常感谢,谢谢。

1 个答案:

答案 0 :(得分:0)

期望得到Datetimeindex,因为index中参数pivot_table之后的列创建了返回的DataFrame的索引-这里time列创建了{{ 1}}。

通过以下方式进行检查:

DatetimeIndex

如果需要默认索引,请使用DataFrame.reset_index将DattimeIndex转换为新列,并用print (df4.index) DataFrame.rename_axis替换以删除列名(RangeIndex字符串):

Time