亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

合并兩個僅一列不同的數據框。需要將該列附加到新數據框中。請查看下面的詳細視圖

合并兩個僅一列不同的數據框。需要將該列附加到新數據框中。請查看下面的詳細視圖

郎朗坤 2023-07-18 13:28:38
對于Python來說,這不太新鮮,我正在嘗試合并兩個具有相似列的數據框。第二個數據幀由 1 列組成,需要將其附加到新數據幀中。使用的代碼:df3 = pd.merge(df,df1[['Id','Value_data']],? ? ? ? ? ? ? ?on = 'Id')df3 = pd.merge(df,df1[['Id','Value_data']],? ? ? ? ? ? ? ?on = 'Id', how='outer')獲取輸出 csv 為Unnamed: 0? Id_x? ? Number_x? ? Class_x Section_x? ?Place_x Name_x? Executed_Date_x Version_x? ?Value? ?PartDateTime_x? Cycles_x? ? Id_y? ? Mumber_y? ? Class_y Section_y? ?Place_y Name_y? Executed_Date_y Version_y? ?Value_data? PartDateTime_y? Cycles_y雖然我不想要 _x & _y 我希望輸出是:Id? Number? Class? ?Section Place? ?Name? ? Executed_Date? ?Version Value Value_data? ? PartDateTime? ? Cycles如果我使用df2=pd.concat([df,df1],axis=0,ignore_index=True) ,那么我將在除 ; 之外的所有列中獲得以下格式的值Value_data:而Value_data將是空列。Id? Number? Class? ?Section Place? ?Name? ? Executed_Date? ?Version Value Value_data? ? PartDateTime? ? Cycles請幫我解決這個問題。謝謝你的時間。
查看完整描述

2 回答

?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

我認為最簡單的路徑是制作一個臨時 df ,我們稱之為 df_temp2 ,它是 df_2 的副本,具有重命名的列,然后將其附加到 df_1


df_temp2 = df_2.copy()

df_temp2.columns = ['..','..', .... 'value' ...]

然后


df_total = df_1.append(df_temp2)

這為您提供了包含 DF_1 和 DF_2 的所有行的總 DataFrame。'append()' 方法支持一些參數,請查看文檔以獲取更多詳細信息。


- - 添加 - - - -


另一種可能的方法是使用pd.concat()函數,它可以以與廣告方法相同的方式工作.append(),如下所示


result = pd.concat([df_1, df_temp2])?

在您的情況下,這兩種方法會產生相似的性能。您可以將其視為append()一種寫在 DF 之上的方法pd.concat(),但它應用于 DF 本身。

查看完整回答
反對 回復 2023-07-18
?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

import pandas as pd

df =pd.read_csv('C:/Users/output_2.csv')

df1 pd.read_csv('C:/Users/output_1.csv')

df1_temp=df1[['Id','Cycles','Value_data']].copy()

df3=pd.merge(df,df1_temp,on = ['Id','Cycles'], how='inner')

df3=df3.drop(columns="Unnamed: 0")

df3.to_csv('C:/Users/output.csv')


This worked


查看完整回答
反對 回復 2023-07-18
  • 2 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號