【问题标题】:Errors in the resulted columns after merging with Pivot_Table与 Pivot_Table 合并后结果列中的错误
【发布时间】:2019-03-30 22:48:20
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    预计您会得到Datetimeindex,因为pivot_table 中参数index 之后的列创建返回的DataFrame 的索引 - 这里time 列创建DatetimeIndex

    检查方式:

    print (df4.index)
    

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

    df4 = df4.reset_index().rename_axis(None, axis=1)
    

    【讨论】:

    • 谢谢你的一切
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多