首页 > 解决方案 > 熊猫数据框插入带有映射的行

问题描述

这可能很简单,但我对 python 数据框很陌生。

我有两个数据框:

import pandas as pd
str={}
df = pd.DataFrame(str,columns=['ID','NAME','DESC'])
df1= pd.DataFrame(str,columns=['ID_NEW','NAME_NEW','DESC_NEW'])

df = df.append({'ID':'2','NAME':'CCC','DESC':'DDD'} ,ignore_index=True)
df1 = df1.append({'ID_NEW':'1','NAME_NEW':'AAA','DESC_NEW':'BBB'} ,ignore_index=True)

我想使用映射将所有行从数据框“df”插入到“df1”:id -> id_new, name -> name_new,desc->desc_new

所以 df1 的结果将在插入之后:

print(df1.to_string(index=False))


ID_NEW NAME_NEW DESC_NEW
     1      AAA      BBB
     2      CCC      DDD

标签: pythonpandasdataframe

解决方案


如果列名匹配,您可以很容易地连接两个数据框:

In [61]: pd.concat([df1, df.rename(columns={c: f"{c}_NEW" for c in df.columns})])
Out[61]:
  ID_NEW NAME_NEW DESC_NEW
0      1      AAA      BBB
0      2      CCC      DDD

您可以将df1 =其分配为用连接的帧覆盖它。


推荐阅读