熊猫按照密码重命名列

2024-10-08 18:22:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我在数据帧中有一列,其中包含传感器标识符和不同的值。我有另一个数据帧,其中包含传感器名称的纯英语描述。它看起来像这样:

Date          zz8029    df456sz
2017-01-01    1            2
...           .            .
...           .            .

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

name     description
zz8029   ROOM201-TEMP

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

Date          ROOM201-TEMP    ROOM200-TEMP
2017-01-01    1                2
...           .                .
...           .                .

Tags: 数据方法name名称密码date编程传感器
2条回答

有,好老pd.map。它的目的是为系列,但我认为它是有可能的工作,为列名

 z = {k: g.description.values[0] for k, g in df2.groupby('name')}
 df.columns = df.columns.map(z)

使用^{},其中arg是一个索引为“from value”的序列,值是映射到的对象:

df = df.set_index('Date')
df.columns = df.columns.map(df2.set_index('name')['description'])
df = df.reset_index()
df

输出:

         Date  ROOM201-TEMP  ROOM200-TEMP
0  2017-01-01             1             2

相关问题 更多 >

    热门问题