繁体   English   中英

Python 合并数据帧和重命名列值

[英]Python merging data frames and renaming column values

在 python 中,我有一个看起来像这样的 df

Name    ID
Anna    1
Sarah   2
Max     3

还有一个看起来像这样的df

Name    ID
Dan     1
Hallie  2
Cam     3

如何合并 df 以使 ID 列看起来像这样

Name    ID
Anna    1
Sarah   2
Max     3
Dan     4
Hallie  5
Cam     6

这只是一个最小的可重现示例。 我的实际数据集有 1000 个值。 我基本上是在合并数据帧,并希望 ID 以数字顺序(前一个数据帧的延续)而不是每次从一个重复。

连接两个 DataFrame, reset_index并使用新索引分配“ID”

df_new = pd.concat((df1, df2)).reset_index(drop=True)
df_new['ID'] = df_new.index + 1

Output:

     Name  ID
0    Anna   1
1   Sarah   2
2     Max   3
3     Dan   4
4  Hallie   5
5     Cam   6

您可以使用ignore_index=True连接数据帧,然后设置 ID 列:

df = pd.concat([df1, df2], ignore_index=True)
df['ID'] = df.index + 1

使用pd.concat

out = pd.concat([df1, df2.assign(ID=df2['ID'] + df1['ID'].max())], ignore_index=True)
print(out)

# Output
     Name  ID
0    Anna   1
1   Sarah   2
2     Max   3
3     Dan   4
4  Hallie   5
5     Cam   6

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM