簡體   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