猿问

基于密码的熊猫重命名列

我在数据框中有一个带有传感器标识符和变化值的列。我还有另一个数据框,其中包含传感器名称的简单英语描述。看起来像这样:


Date          zz8029    df456sz

2017-01-01    1            2

...           .            .

...           .            .

密码第二个数据帧如下所示:


name     description

zz8029   ROOM201-TEMP

有没有一种方法可以使用密码第二个数据帧以编程方式重命名第一个数据帧中的所有列?有数百个传感器名称,因此手动重命名它们不会做到。结果看起来像这样


Date          ROOM201-TEMP    ROOM200-TEMP

2017-01-01    1                2

...           .                .

...           .                .


宝慕林4294392
浏览 125回答 2
2回答

蝴蝶不菲

有,好老pd.map。它用于系列,但我认为可以使它适用于列名 z = {k: g.description.values[0] for k, g in df2.groupby('name')} df.columns = df.columns.map(z)

江户川乱折腾

使用map其中arg是用“从价值”和值是什么映射到指数系列:df = df.set_index('Date')df.columns = df.columns.map(df2.set_index('name')['description'])df = df.reset_index()df输出:         Date  ROOM201-TEMP  ROOM200-TEMP0  2017-01-01             1             2
随时随地看视频慕课网APP

相关分类

Python
我要回答