首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >执行pandas数据透视表操作时没有要聚合的数值类型

执行pandas数据透视表操作时没有要聚合的数值类型
EN

Stack Overflow用户
提问于 2018-10-12 07:44:44
回答 1查看 359关注 0票数 1

我想将行转换为此数据帧的列,因此在pandas中使用pivot_table操作:

但是,当我执行以下操作时:df_tmp.pivot_table(index='Date', columns='MeasureLabel', values='Value'),我得到错误:*** pandas.core.base.DataError: No numeric types to aggregate。数据类型如下:

代码语言:javascript
运行
复制
Date             int64
MeasureLabel    object
Value           object

Value列包含非数字值,因此不能转换为数字。有没有办法实现我想要的东西?

代码语言:javascript
运行
复制
          Date                                MeasureLabel             Value
0     1539262800000000000                    Airpressure_Hourly (hPa)  1008.0
1     1539262800000000000                     Cloudcover_Hourly (pct)       1
2     1539262800000000000                         Dewpoint_Hourly (C)    15.2
3     1539262800000000000           GlobalRadiation_HourlySum (Wh/m2)     259
4     1539262800000000000                    HumidityRel_Hourly (pct)      33
5     1539262800000000000           Lightintensity_Hourly (µmol/m²/s)   569.1
6     1539262800000000000                          PAR_Hourly (Wh/m2)   124.5
7     1539262800000000000                            PictoCode_Hourly      13
8     1539262800000000000                       Precip_HourlySum (mm)    0.00
9     1539262800000000000              Precip_RangeMax_HourlySum (mm)     0.0
10    1539262800000000000              Precip_RangeMin_HourlySum (mm)     0.0
11    1539262800000000000              PrecipProbability_Hourly (pct)       0
12    1539262800000000000  Referenceevapotranspiration_HourlySum (mm)     0.2
13    1539262800000000000              ShowerProbability_Hourly (pct)       0
14    1539262800000000000                         SnowFraction_Hourly     0.0
15    1539262800000000000          Soilmoisture_0to10cm_Hourly (vol%)     7.0
16    1539262800000000000          Soiltemperature_0to10cm_Hourly (C)     7.0
17    1539262800000000000               SunshineDuration_Hourly (min)      59
18    1539262800000000000                          TempAir_Hourly (C)    33.7
19    1539262800000000000                    TempAirSurface_Hourly(C)    39.0
20    1539262800000000000        ThunderstormProbability_Hourly (pct)      55
21    1539262800000000000                       Visibility_Hourly (m)   35830
22    1539262800000000000                        WindDirection_Hourly       E
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-12 08:16:16

由于您不打算执行聚合,因此可以使用pd.pivot而不是pd.pivot_table。注pd.pivot是非常严格的,例如它只允许标量index / columns,但在这种情况下它似乎足够了。

代码语言:javascript
运行
复制
df = pd.DataFrame({'Date': ['20180101']*5,
                   'Label': ['A', 'B', 'C', 'D', 'E'],
                   'Value': [1, 2, 3, 4, 'X']})

res = df.pivot(index='Date', columns='Label', values='Value')

print(res)

Label     A  B  C  D  E
Date                   
20180101  1  2  3  4  X
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52770313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档